今天早上,我在回顾我们每月的Sitecore分析报告时发现了一个令人不安的异常现象。我们这个月的平均“现场时间”平均约为9分钟。这比上个月平均1到2分钟的时间有所增加。
我的第一反应是“很好,看起来我们这个月做得更好了”,但是经过进一步的调查,似乎每一次访问该网站的次数都记录了20到25分钟的“在网站上的时间‘统计--甚至是对单个页面的访问。”
以前有人经历过这种事吗?似乎添加了一个SessionEnd处理器会使每个会话在默认的20分钟内保持活动。如果是这样的话,如何在不影响每次访问的“现场时间”统计量的情况下添加自定义的SessionEnd管道处理器?
Sitecore版本: 6.4.1更新1
更新
不幸的是,每次访问现场流量仍记录在20分钟以上.这是与自定义SessionEnd处理器完全删除。我目前正在调查其他可能的原因。
更新2
我们看到日志中出现了许多Analytics警告消息,如下所示:
Analystics: Max size of insert queue reached. Dropped 3826.我现在相信这和.
更新3
我发现,“现场时间”统计数据将在重新启动Sitecore应用程序后恢复正常。从那里开始,平均到达现场的时间会以每10分钟大约1分钟的速度逐渐攀升,直到大约20分钟达到水平。我相信这几乎是在我们开始在日志中看到“插入队列的最大大小到达”警告的同时。
我还发现,实际的“现场时间”数字是根据[Session].[Timestamp]表中的[Session].[LastPageTimestamp]列和[Sessions]表中的列之间的平均时间跨度计算出来的。这里有趣的是,进入Session表的最新记录似乎具有实际时间的,它们被插入到表中。似乎INSERT语句在插入到数据库时使用GETDATE()标记每个记录。如果那是真的,我想我找到了罪魁祸首。我认为我有一个性能问题,更糟糕的是,排队的会话被错误地插入到数据库中。
发布于 2011-09-06 20:53:44
不知道这个问题的答案..。但是,我要做的第一件事是用Reflector分解现有的sessionEnd管道代码,看看它是否做了一些棘手的事情,实际上是通过添加另一个处理器来取消的。
在我的web.config中,唯一的处理器似乎是Sitecore.Pipelines.SessionEndSaveRecentDocuments.。
https://stackoverflow.com/questions/7324364
复制相似问题