我在IIS 7.0上运行一个独立应用程序池的网站应用,它是一个ASP.NET MVC 3网站。发现该应用程序对应的w3wp IIS工作服务的内存使用率相当高(800 MB,有些波动)。
我正在尝试诊断问题,并尝试了以下方法:
我在IIS级别禁用了网站的输出页面缓存,然后重新启动了应用程序池。这会导致w3wp进程重新启动。该进程的内存使用率随后慢慢增长到约800 MB,需要大约30秒的时间。此时没有处理任何页面请求。当我从IIS重新启动网站时,进程的内存大小不会改变。
我尝试从VS2010运行应用程序的调试副本,内存使用没有问题。
我有一些想法/问题:
这个问题是否与网站的代码有关?-鉴于内存在发送/处理任何页面请求之前急剧增加,我会认为这不是代码问题?
建立在MVC中的应用程序没有编写任何缓存处理。
该网站使用实时数据显示,定期使用ajax请求,并且通常处于“打开”状态很长一段时间。
为什么应用程序被回收后没有发送任何用户请求,内存使用率会急剧增加?这是因为它正在从磁盘加载旧的缓存信息到其内存中吗?
应用程序并没有崩溃,我只是担心内存使用情况。这不是一个很大的网站......
如果您有任何想法/帮助,以解决这个问题,将不胜感激。