我们在ASP.NET应用程序中遇到随机间歇性减速。大多数页面需要100到500毫秒才能渲染(取决于页面上使用的模块)。然而有时候 - 或许在100个请求中有1个,这些数字更像是5000-10000ms。这不是与数据库相关的问题 - 我检查过慢查询,并且与页面的复杂性无关 - 例如一个耗时100毫秒的页面在减速时可能需要10000毫秒。我不认为应用程序池也在回收 - 通常会在任务管理器中看到这一点。它可能是GC吗?有任何想法吗? w3wp应用程序通常始终使用稳定的800MB-1GB内存。
由于 马库斯
答案 0 :(得分:2)
我能告诉你的最好的事情是附加一个分析器(搜索这个站点以获得一个好的.NET分析器,我个人使用ANTS)来识别瓶颈。如果没有好的资料数据,我们在这里的所有建议都只是推测。
答案 1 :(得分:0)
应用程序是否完全使用Cache来维护大量静态数据?即使应用程序池没有回收,缓存中的某些大对象可能已过期,然后下一次要求Cache必须重新填充它。
答案 2 :(得分:0)
根据Tess Ferrandez,(ASP.NET升级工程师)你在32位服务器上处于魔力点,在那里你可能会开始看到内存异常 - 这也可能会产生影响
她在这个主题上有很多有用的帖子:
正如其他人所说,剖析器和追踪也会有所帮助。
答案 3 :(得分:0)
您是否尝试在进程内会话状态模式下运行Web应用程序,看看是否有任何差异?