ASP.NET网站在回收之前运行缓慢

ASP.NET网站在回收之前运行缓慢,asp.net,Asp.net,我最近刚把一个站点从IIS6迁移到IIS7,遇到了很多性能问题 在我对应用程序池进行回收之前,站点性能非常差。这是什么症状 我每晚都在循环,但这似乎还不够 我并不是那么依赖训练。大量使用缓存。在我的网站上发布了一些新的.NET组件之后,我也遇到了应用程序池内存消耗的问题。 我正在手动回收内存(大约一天一次),但我将实现一个使用treshold回收内存的作业 无论如何,请查找清理语句、连接关闭、对象销毁等。您可以在此处找到一些非常好的教程,介绍如何使用.NET和ASP.NET调试最常见的挂起、性能

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

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

我每晚都在循环,但这似乎还不够


我并不是那么依赖训练。大量使用缓存。

在我的网站上发布了一些新的.NET组件之后,我也遇到了应用程序池内存消耗的问题。 我正在手动回收内存(大约一天一次),但我将实现一个使用treshold回收内存的作业


无论如何,请查找清理语句、连接关闭、对象销毁等。

您可以在此处找到一些非常好的教程,介绍如何使用.NET和ASP.NET调试最常见的挂起、性能、内存和崩溃情况:。这些系列文章确实值得一读,因为它充满了信息,但它需要相当长的时间:-)


服务器端应用程序的一个常见问题是分配成吨的“大的”.NET对象,这些对象会击中目标。例如,检查是否执行了大量大于85Kb的
byte[]
MemoryStream
分配(连续大小大于85Kb的对象将进入LOH,并且无法压缩此堆)。如果你做了大量的大文件(PDF、图像等)生成、复制等工作,这种情况通常会发生。。。这应该使用纯流而不使用完整大小的分配来完成。

您可能忘记了打开的句柄或其他内存问题,可能是计算机的物理内存不足。。。如果你可以直接访问电脑,你可以查看一些想法。我可以完全访问电脑。请建议检查什么?使用sysinternals中的Process Explorer并检查物理内存。这可能是一个一般类型的答案,但我真的很怀疑。您应该在这里列出代码,因为它听起来像是处理缓存和会话的系统方法。我有50多个高流量的电子商务网站,使用轻量级的缓存和序列化方法,扩展性非常好。你必须列出你的代码,这样我们才能看到你是怎么做的。