关于双核与四核的讨论与四核本身一样古老,答案通常是“这取决于您的场景”。所以这里的场景是 Web 服务器(Windows 2003(不确定是 x32 还是 x64)、4 GB RAM、IIS、ASP.net 3.0)。
我的印象是 Web 服务器中的 CPU 不需要那么快,因为请求通常相当轻量级,所以拥有更多(更慢的)内核应该是更好的选择,因为我们有很多小请求。
但是由于我在 IIS 负载平衡方面没有太多经验,而且我不想花很多钱才发现我做出了错误的选择,有更多经验的人可以评论一下是越慢还是越快的内核越好?
对于网络服务器之类的东西,划分处理每个连接的任务(相对)容易。我可以肯定地说,Web 服务器是并行代码最常见(并且已被淘汰)的用途之一。而且由于您能够将大部分处理拆分为多个独立的线程,因此更多的内核实际上确实对您有利。这是共享托管成为可能的重要原因之一。如果像 IIS 和 Apache 这样的服务器软件不能并行运行请求,这意味着每个页面请求都必须以队列方式发出……可能会使加载时间慢得无法忍受。
这也是为什么像 Windows 2008 Server Enterprise 这样的高端服务器操作系统支持 64 核和 2TB RAM 的原因。这些应用程序实际上可以利用那么多内核。
此外,由于每个请求的 CPU 负载很可能较低,您可能(对于某些应用程序)可以使用更慢的内核。但显然,让每个内核更快意味着能够更快地完成每项任务,并且在理论上可以处理更多任务和更多服务器请求。