【发布时间】:2011-12-12 20:56:38
【问题描述】:
我有一种情况,ASP.NET 应用程序导致 w3wp 服务 cpu 使用率飙升至 100%,同时“%time in GC”性能计数器显示非常高的数字 20-70%。这不时发生。
这一切都是在我从 2.0 升级到 .NET 4.0 之后开始发生的,顺便说一句。
我正在查看性能计数器,试图获得更多线索,但我缺乏良好的基线......什么是“正常”?
- #Gen 0 收藏 10,000
- #Gen 1 Collections 4,700(似乎很高)
- #Gen 2 收藏 1,200(再次看起来很高)
- Finalization Survivors 5000(这么高吗??)
让您了解应用程序的繁忙程度:
- ASP.NET 请求/秒:170
- ASP.NET 会话活动:900
在每个页面请求上,在我的开发环境中,Finalization Survivors 大约为 50。看起来很高,但是我查看的所有分析工具都没有显示任何异常...
我正在寻找一些关于基本 asp.net 应用程序的这些参数的典型值是什么的基线。例如,有多少“Finalization Survivors”仅仅是因为 ASP.NET?
非常感谢!
更新 - 回滚到 .net 2.0 “修复”了问题
自从我升级到 .NET 4.0 以来,我从早上开始就一直在努力解决这个问题 我回滚了我的更改 - 将网站设置为使用 asp.net 2.0,回滚了一些使用 .net 4.0 编译的二进制文件,现在一切都很漂亮 - 没有尖峰,没有很长的 GC 时间,但仍然有很多完成幸存者..
**UPDATE 2 - 只是在 IIS 中切换到 .NET 4.0 会导致速度变慢
我正在更新此内容,以防有一天它对遇到同样问题的其他人有所帮助。 我发现问题是在网站上切换 IIS 以使用 ASP.NET 4.0 后开始出现的,而无需更改任何 .net 2.0 网站代码。我假设(也许是错误的)它是向后兼容的,因此 .net 2.0 网站和它引用的资源在 asp.net 4.0 下应该可以正常工作,但似乎存在一些问题。如果我有时间进一步调查,我会用我的发现更新此内容
【问题讨论】:
-
+1 对此还有什么更新吗?我对终结幸存者有类似的问题(在 164 - 575 之间波动)。我只是使用 Win 7 的性能监视器。我有很多对象集合。我应该对哪些其他参数感兴趣? .NET 3.5 和 win 应用程序。
标签: asp.net