ASP.NET站点缓慢,直到回收

时间:2012-02-21 08:42:54

标签: asp.net

我最近刚刚将一个站点从IIS6迁移到IIS7,并且遇到了很多性能问题。

在我对应用程序池进行回收之前,站点性能非常糟糕。这可能是什么症状?

我晚上回收,但这似乎还不够?

我对Sessions的依赖程度不高。使用缓存非常多。

2 个答案:

答案 0 :(得分:4)

您可以在此处找到一些非常好的教程,介绍如何使用.NET和ASP.NET调试最常见的挂起,性能,内存和崩溃方案类型:.NET Debugging Demos - Information and setup instructions。这些系列真的值得一读,因为它充满了信息,但需要相当长的时间: - )

服务器端应用程序的一个常见问题是分配大量达到Large Object Heap的“大”.NET对象。检查一下,如果你做了大量超过85Kb的byte[]MemoryStream分配(例如,连续大小超过此值的对象将进入LOH并且此堆不能被压缩)。如果您执行大量文件(PDF,图像等)生成,复制等等,这会发生这种情况......这应该使用没有完整大小分配的纯流媒体来完成。

答案 1 :(得分:3)

在我的网站上发布一些新的.NET组件后,我也遇到了应用程序池内存消耗。 我手动回收内存(大约每天一次),但是我要实现一个以阈值回收内存的工作。

任何方式,寻找清理声明,连接关闭,对象破坏等。