繁体   English   中英

编码以提高IIS应用程序池内存使用率

[英]Coding to Improve IIS App Pool Memory Usage

我们有两个相同的负载均衡Web服务器(ws1和ws2)为同一网站提供服务。 两者目前都具有一些搜寻器,可以搜寻PDF和包含大量图像的页面(平均25 /页)。 两台服务器之间有大约60个并发用户,但是到目前为止,爬网程序提出的请求最多。 ws1上的IIS应用程序池消耗约500mb的RAM,而ws2上的应用程序池消耗约2gb的RAM(每台服务器上可用4gb)。 这些消耗水平已经维持了几个小时。 我已将IIS配置为执行静态缓存和静态压缩,但我能想到的更多内容会影响RAM消耗。

问题在于ws2的RAM即将用完,并且该服务器上的网页加载速度比ws1上要慢得多,这对我们的最终用户不利。

我的问题:

  • 50%的可用RAM(在ws2上为〜2gb)对于应用程序池而言似乎消耗很多-是吗?
  • 我是否应该进行任何编程/配置方面的考虑,以帮助服务器更好地管理其资源(尤其是RAM),尤其是在涉及更大的请求(例如PDF和图像)时?

我知道这是非常通用的。 我不知道要包括哪些其他信息,因此请留下反馈,以便我可以更详细地更新此问题。

最好的出发点是确定什么是使用全部内存。 商业分析器喜欢

http://www.red-gate.com/products/ants_performance_profiler/index.htm

http://www.jetbrains.com/profiler/

可以分析您在IIS中运行的代码。 如果您可以在开发环境中重现该问题,则Visual Studio的内存探查器也应该能够诊断内存使用情况(也许有一种方法可以针对生产IIS实例独立使用它...对此不确定)。

检查以查看您的应用程序分配了什么内存以及分配了什么内存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM