【发布时间】:2012-12-11 20:10:31
【问题描述】:
我们有两个相同的负载平衡网络服务器(ws1 和 ws2)服务于同一个网站。目前,两者都有一些爬虫,爬取诸如 PDF 和包含大量图像的页面之类的东西(平均每页可能 25 个)。两台服务器之间大约有 60 个并发用户,但到目前为止,爬虫发出的请求最多。 ws1 上的 IIS 应用程序池消耗 ~500mb RAM,ws2 上的应用程序池消耗 ~2gb RAM(每台服务器上可用 4gb)。这些消耗水平已经持续了几个小时。我已将 IIS 配置为进行静态缓存和静态压缩,但我想不到这会影响 RAM 消耗。
问题在于 ws2 的 RAM 快用完了,而且该服务器上的网页加载速度比 ws1 慢得多,这对我们的最终用户不利。
我的问题:
- 50% 的可用 RAM(在 ws2 上约为 2gb)对于应用程序池来说似乎消耗很多 - 是吗?
- 我是否应该考虑任何编程/配置方面的考虑来帮助服务器更好地管理其资源,尤其是 RAM,尤其是在处理 PDF 和图像等更大的请求时?
我知道在这一点上这是非常通用的。我不知道包含哪些其他信息会有所帮助,因此请留下反馈,以便我可以更详细地更新此问题。
【问题讨论】:
-
听起来您的负载平衡器没有平衡负载。至于正在使用的内存量,我认为使用 50% 可用内存的应用程序池并不坏。您确定是内存使用导致您的性能问题吗,也许是其他原因,例如数据库 IO。