[英]ASP.NET Site slow until recycle
我最近刚刚将一个站点从IIS6移动到IIS7,并且遇到了很多性能问题。
在我对应用程序池进行回收之前,站点性能非常糟糕。 这可能是什么症状?
我一夜之间回收,但这似乎还不够?
我不是那么依赖塞申斯。 使用缓存非常多。
您可以在此处找到一些非常好的教程,介绍如何使用.NET和ASP.NET调试最常见的挂起,性能,内存和崩溃方案类型: .NET Debugging Demos - 信息和设置说明 。 这些系列真的值得一读,因为它充满了信息,但需要相当长的时间:-)
服务器端应用程序的一个常见问题是分配大量的“大”.NET对象,这些对象会遇到大对象堆 。 检查是否执行了大量大于85Kb的byte[]
或MemoryStream
分配(例如,具有高于此值的连续大小的对象将进入LOH并且此堆不能被压缩)。 如果您执行大量文件(PDF,图像等)生成,复制等等,这会发生这种情况......这应该使用没有完整大小分配的纯流媒体来完成。
在我的网站上发布一些新的.NET组件之后,我也遇到了应用程序池内存消耗。 我手动回收内存(大约每天一次),但我要实现一个以阈值回收内存的工作。
无论如何,寻找清理声明,连接关闭,对象破坏等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.