Sitecore HttpModules第二次初始化

时间:2014-08-22 09:55:36

标签: performance sitecore cpu-usage httpmodule ihttpmodule

我们正在经历突发瞬间的CPU峰值。在检查了我们的Sitecore日志之后,我注意到有很多日志条目带有" 11:49:26 INFO HttpModule正在被初始化" 。据我所知,这应该只在应用程序启动时初始化。这仍然在应用程序启动后出现。我对吗? 如果是这样,这些模块可以在哪里第二次初始化?

2 个答案:

答案 0 :(得分:7)

当IIS放弃当前Http模块的实例并创建一个新模块时,您会看到“ HttpModule正在初始化”消息。当Http模块实例超时以响应当前请求时会发生这种情况。 IIS不是永久等待会导致挂起的响应,而是尝试实例化Http模块的新实例,并让它控制运行等待请求。

Http模块挂起的原因可能有很多。我见过的最常见的一些不是解决方案中的高效缓存设置配置,也不是每个请求执行的昂贵逻辑。 如果仅在某些页面上发生这种情况,请调查这些页面背后的逻辑。查看缓存命中和未命中以查看可能与缓存相关的问题。最简单的方法是使用一个.NET探查器工具来查看哪些代码在页面执行时花费的时间最多(我在某些时候使用过ANTS Profiler。我相信也有免费的探查器)。

答案 1 :(得分:0)

我发表了一篇解释为什么会发生的帖子:'HttpModule is being initialized' mystery

简而言之-当请求到达的速度快于处理速度时,可能会发生

邮件是正常的邮件(数量很少),通常显示到达的请求数量激增。