IIS 服务器是否可以拥有太多内存?

IIS 服务器是否可以拥有太多内存?

我看到有人声称 Exchange (关联) 和 Elasticsearch (关联)可能会因“记忆力过强”而受到影响。我也读过一篇旧书中的模糊暗示IIS 也可能存在同样的情况:

至少在一定程度上,RAM 越多越好。如果 RAM 太多,IIS 文件缓存就无法充分利用它。因此,对于标准 Web 服务器,RAM 最好不要超过 2GB 到 3GB。

有人可以证实或反驳 IIS 服务器可能拥有太多 RAM 的说法吗? 如果该说法属实,那么这是否是微调配置的问题?

我之所以问这个问题,是因为我发现生产环境与测试环境之间可能存在性能问题,其中测试环境即使在高负载下,使用 16GB RAM 的性能似乎也比使用 64GB RAM 的生产环境更好。我在 Windows Server 2012 R2 64 位上运行 IIS 8。

唯一的 ServerFault 问题我发现并没有专门针对 IIS。)

答案1

有很多事情需要考虑。

您预计同时有多少流量?

您的网站/应用程序有多复杂?

IIS 没有太多的开销,应用程序/网站会有开销。

当涉及到多少个站点/连接与多少个内存时,确实没有经验法则。

然而,在数据库服务器上,最好拥有与数据库大小一样多的 RAM,以允许数据库耗尽内存。

我见过服务器运行 2500 个非常小的网站,2/3 个页面,使用 3GB 的 RAM,而 IIS 使用了大约 750mb 的 RAM。

我还看到过运行 1 个站点的服务器集群,需要 64GB 或更多的 RAM 来跟上工作进程。

我真正看到服务器在拥有更多内存的情况下性能变差的唯一一次是运行 ColdFusion 9,因为存在垃圾收集错误,他们在 10 中修复了垃圾收集问题。

考虑 RAM 时,不要忘记操作系统的 RAM,并进行一些负载测试。

相关内容