我们正在运行一个用C#编写的ASP.NET 4.5.2网站。我们正在努力改善总体性能,以响应客户对“运行缓慢”或“冻结”的抱怨。
我们安装了Stackify Retrace以帮助查明代码问题。我们看到“ .NET代码”和“数据库”活动的性能大致相等。占用大量执行时间(3-4倍数据库活动)的内容列为“ HTTP模块”。不幸的是,Stackify Retrace并没有详细介绍哪些HTTP模块是导致速度缓慢的原因。
我们没有任何自定义HTTP模块。我们正在运行默认的HTTP模块集,但从未明确添加或禁用任何模块。在global.asax中,我们具有Application_Start,Application_Error,Application_BeginRequest和Application_EndRequest的代码。除非匿名IIS用户访问需要Windows身份验证,否则我们不会使用基于表单的身份验证或Windows身份验证-我们拥有自己的不依赖于这些身份的无状态身份验证机制。我们确实使用HTTP压缩,ISAPI过滤,应用程序变量,会话变量,视图状态和请求过滤。
是否有办法(可能使用其他工具)更详细地了解哪些HTTP模块增加了总体处理时间?