我们在Windows Server 2008 R2标准版上发布了运行IIS 7.0的基于.Net的网站。否则,我在不同的服务器上安装了SQL Server。 IBM x3650服务器都有32 Gb RAM。有时,w3wp.exe服务在IIS上使用20 Gb的内存。我该怎么办?
谢谢,
答案 0 :(得分:2)
您是否有机会使用URLRewritingNet重写您的网址? 我在使用IIS7的Windows Server 2008 R2上遇到了严重的性能问题导致w3wpe.exe最大化,即使只有一个用户!解决方法是废弃该库并使用IIS7重写规则。
这里的问题很好地记录在案:http://blog.kurtschindler.net/post/urlrewritingnet-performance-issues
祝你好运, 大卫
答案 1 :(得分:0)
再好吧。发现内存泄漏是一个难题。首先根据你得到的每一个请求进行一些记录 - >并记录正在使用的内存量。然后找到你所有的工作 - >以及可能产生泄漏的代码的可能部分(只要它们在每个请求期间都没有执行)并且还记录它们的开始和结束。
执行此操作后,您可以检查日志并搜索内存使用量显着增加的部分,然后可以查明代码的哪个部分产生泄漏。
另一件事是你可以搜索“你使用的内存泄漏”,你使用的是你正在使用它们的一些机制。
另一方面,你应该做很多事情来避免内存泄漏,我想到的第一件事就是探索using()
语句。
喔。不要以为你会在接下来的20分钟内发现问题。它需要几天时间(当尝试使用日志记录进行调试时)