单处理器(16 核)和双处理器(各 8 核)哪个性能更好?
由于许可证成本增加,我们正在考虑采用单进程服务器。
编辑:我们计划使用 VMWare vsan,它按每个进程计费。我们计划使用此服务器运行多个虚拟机。所有这些服务器主要运行基于开源的网站,并使用 Apache、mySql 和 Ngnix 等应用程序。
答案1
在虚拟化设置中,您会运行多个虚拟机,因此通常您会获得比 CPU 核心更多的活动工作线程。长话短说:核心越多越好,每个核心的时钟速度越高。
答案2
取决于应用程序。
您尚未描述您的应用程序,因此请将我的建议视为大多数(但不是全部)情况的一般建议。
我假设您想在两种 CPU 之间做出选择。8C 的基本频率较高,16C 较低。如果 16C 的基本频率较高或相同,则在大多数情况下 16C 会更好。
场景 A -应用程序利用全部 16 个核心并共享内存
在这种情况下,16 核会更好,因为它只产生一个 NUMA 节点,并且所有进程的内存访问都将同样快,就像始终是本地的一样。
场景 B -应用程序利用全部 16 个核心,但可以划分为 8+8 核心配置运行,每个 CPU 使用一半内存
在这种情况下,2x8C 变体更好(可能以更高的基本时钟频率运行)。有 2 个 NUMA 节点。因此每个 8C 应该只访问本地一半的内存(电气连接到插槽的内存),而不会受到惩罚。
场景 C -该应用程序能够在许多独立线程中运行,大部分在缓存中,偶尔的 RAM 访问不是问题。
在这种情况下,2x8C 变体更好(可能以更高的基本时钟频率运行)。偶尔的内存访问没有太多限制。
还可能有更多情况,例如当您有单线程应用程序等等时。