Sitecore EventQueue表增长失控 [英] Sitecore EventQueue Table growing out of control
本文介绍了Sitecore EventQueue表增长失控的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们遇到了EventQueue表有时增长非常快的问题,每秒多达3000条记录,并且永远不会清除记录(目前为3000万条)。我们的环境设置如下:
Sitecore 7.2
- 4台CD服务器和1台CM服务器
- 所有四台CD服务器都是负载均衡的。
- CD1和CD2指向DB1服务器CD3和CD4指向DB2
- 服务器有2个发布目标(每个数据库一个)合并
- 跨所有服务器(CM、CD)为Core数据库设置复制
- EventQueue已启用
我有几个问题,所以我将它们分解为单独的行项目。
当为所有CD服务器发布PUBLISH时,更新内容是直接从CM数据库发送到CD数据库(所有正确的表),还是发送到CD数据库中的EventQueue表,并且CD服务器具有查看该表并根据需要进行更新的作业/任务。
根据对第一个问题的回答,如果有两个CD服务器指向同一个数据库,它们如何知道是否应该处理EventQueue表(它们是否会各自处理该表并重复工作)
为什么没有清除EventTable表?如何清除,何时清除?
推荐答案
- 在CM发布时,发布请求将发送到CD数据库上的EventQueue表,在该表中将根据实例的发布计划进行处理。
- EventQueue表中的
InstanceName
列存储每个Sitecore实例的唯一名称(默认情况下为计算机名称+IIS实例名称,但可以在web.config中设置)。这使负载平衡环境中的单个CD实例能够拾取事件。 EventQueue表由web.config的
<scheduling>
元素中定义的Sitecore任务清除,尽管我以前见过这种错误行为。默认设置如下:
/li><agent type="Sitecore.Tasks.CleanupEventQueue, Sitecore.Kernel" method="Run" interval="04:00:00"> <DaysToKeep>1</DaysToKeep> </agent>
我以前在EventQueue和PublishQueue表上遇到过高负载,建议尝试以下方法(其中一些建议来自Sitecore支持):
- 减少
CleanupEventQueue
座席的间隔(以上) - 减少
CleanupEventQueue
上的DaysToKeep设置(也不会影响CleanupPublishQueue
) - 创建计划的SQL作业以运行《CMS优化指南》(第10页:http://sdn.sitecore.net/upload/sitecore7/70/cms_tuning_guide_sc70-usletter.pdf)中概述的清理脚本
最后,来自Sitecore支持:
Sitecore建议History、PublishQueue和EventQueue表中的行数(条目)应小于1000。
这篇关于Sitecore EventQueue表增长失控的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文