为什么我的裸机 16x 2.93GHz 核心计算机的性能比 4x 2.5GHz 核心的 VPS 差?

为什么我的裸机 16x 2.93GHz 核心计算机的性能比 4x 2.5GHz 核心的 VPS 差?

我编写了一个多线程软件,每天进行大量模拟。这是一项非常耗费 CPU 的任务,我一直在云服务上运行这个程序,通常配置为每核 1GB。

我在跑步CentOS6.7,并/proc/cpuinfo告诉我我的四个 VPS 核心都是 2.5GHz。

processor       : 3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 63
model name      : Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
stepping        : 2
microcode       : 1
cpu MHz         : 2499.992
cache size      : 30720 KB
physical id     : 3
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 3
initial apicid  : 3
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good unfair_spinlock pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm arat xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid
bogomips        : 4999.98
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

随着汇率的上升,我的 VPS 开始变得更贵了,而且我在二手裸机服务器上也获得了“很大优惠”。

我买了四个HP DL580 G5,每台机器有四台 Intel Xeon X7350。基本上,每台机器都有 16 个 2.93GHz 内核和 16GB,以保持像我的虚拟专用服务器云。

processor       : 15
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Xeon(R) CPU           X7350 @ 2.93GHz
stepping        : 11
microcode       : 187
cpu MHz         : 1600.002
cache size      : 4096 KB
physical id     : 6
siblings        : 4
core id         : 3
cpu cores       : 4
apicid          : 27
initial apicid  : 27
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca lahf_lm dts tpr_shadow vnmi flexpriority
bogomips        : 5866.96
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

从本质上看,这似乎是一件好事,因为我可以不再使用 VPS 来执行这些批处理工作。现在却是怪事…​​…

  1. 在 VPS 上,我一直为每个核心运行 1.25 个线程,就像我在裸机上所做的一样。(额外的 0.25 个线程是为了补偿网络使用造成的空闲时间。)
  2. 在我的 VPS 上,总共使用 44x 2.5GHz 核心,每分钟可进行近 900 次模拟。
  3. 在我的 DL580 上,总共使用 64x 2.93GHz 核心,每分钟只能进行 300 次模拟。

我知道 DL580 的处理器比较旧。但是如果我每个核心运行一个线程,而裸机服务器的核心速度更快,为什么它的性能比我的 VPS 差呢?

我没有在任何服务器上发生内存交换。

TOP 说我的处理器以 100% 的效率运行。我的平均负载为 18(VPS 上为 5)。

事情会这样吗,还是我忽略了什么?

运行 lscpu 后,我的裸机服务器速度达到 1.6GHz。在 上/proc/cpuinfo也看到了这一点。

这些信息是否正确,或者是否与某些不正确的电源管理有关?

[BARE METAL] $ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                16
On-line CPU(s) list:   0-15
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             4
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 15
Stepping:              11
**CPU MHz:               1600.002**
BogoMIPS:              5984.30
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
NUMA node0 CPU(s):     0-15


[VPS] $ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             4
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 63
Stepping:              2
**CPU MHz:               2499.992**
BogoMIPS:              4999.98
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              30720K
NUMA node0 CPU(s):     0-3

答案1

处理器的进步、时钟速度和 IPC 计算使得合理地比较十年前的 CPU 与现代 CPU 几乎不可能。不仅每个周期的指令会有所不同,而且较新的处理器具有专用于复杂计算的指令集(英特尔已添加 AES-NI 作为示例),由于这些因素(我是否提到过多核与超线程......),时钟速度不再是一个合理的比较器。只要有足够的时间和耐心,您肯定可以算出多少个旧处理器等于 1 个新处理器,但计算结果最终会表明购买新 CPU 更便宜、更快。

答案2

我不想因为强调某件事而听起来很糟糕应该这里很明显,但你比较的是2014 年推出的高端服务器处理器高端服务器处理器2007

我认为这不需要更多解释。

有一个原因HP ProLiant DL580 G5可用今天如此便宜。它们体积大、速度慢,而且缺乏许多现代服务器所需的功能。我卖掉了我的最后一次是在2009年。这是一次糟糕的购买,如果您被迫购买二手设备,您最好选择 Nehalem 或 Westmere CPU 系列的 CPU。

另外,你购买的服务器在电力消耗方面非常低效,因此运行成本会很高。


您的物理服务器似乎正在以省电模式运行,从而降低了 CPU 时钟速度。您需要进入 BIOS(启动时按 F9)并将服务器重置为出厂默认设置(谁知道默认设置下还有什么被修改了?

在此处输入图片描述

相关内容