performance - Sitecore HttpModules 正在第二次初始化

标签 performance sitecore cpu-usage httpmodule ihttpmodule

我们突然遇到 CPU 峰值。检查我们的 Sitecore 日志后,我注意到有很多日志条目带有“11:49:26 INFO HttpModule is beinginitialized”。据了解,这应该只在应用程序启动时初始化。并且这在应用程序启动后仍然出现。我对吗? 如果是的话,这些模块可以在哪里进行第二次初始化?

最佳答案

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

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

关于performance - Sitecore HttpModules 正在第二次初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25444310/

相关文章:

ruby - 这个 Ruby 代码和 shell 代码有什么区别?

java - Java 中 UDP DatagramSocket 线程的 CPU 使用率过高

c++ - 为什么 `QDateTime`实现隐式共享?

sitecore - Sitecore CheckSize 管道有什么作用?

c# - 将 List<T> 定制为 ListCustomMinIndexedForEach<T> 的问题(从不相关的实现中剥离)

security - 如何以编程方式获取站点中所有 Sitecore 域的列表?

Sitecore 7.x 测试(a/b,多变量)MVC

java - 在 Java 中使用 while 循环不安全吗?

python - 尝试加速统计(scipy)计算失败

c# - Redis中的处理列表