나는 하루에 많은 시뮬레이션을 수행하는 멀티 스레드 소프트웨어를 작성했습니다. 이것은 CPU를 많이 사용하는 작업이므로 클라우드 서비스, 일반적으로 코어 당 1GB와 같은 구성에서이 프로그램을 실행했습니다.
CentOS 6.7을 실행 중이며 /proc/cpuinfo
4 개의 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가 더 비싸기 시작했고 중고 베어 메탈 서버에 대해 "대단한"거래를 시작했습니다.
4 개의 Intel Xeon X7350과 함께 4 개의 HP DL580 G5를 구입했습니다 . 기본적으로 각 컴퓨터에는 16x 2.93GHz 코어와 16GB가 있으며 VPS 클라우드 와 같은 것을 유지 합니다.
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를 사용하여 이러한 배치 작업을 수행하는 것을 중단 할 수 있었기 때문에 큰 도움이되었습니다. 이제 이상한 물건입니다 ...
- VPS에서는 베어 메탈에서 한 것처럼 코어 당 1.25 스레드를 실행했습니다. (추가 0.25 스레드는 네트워크 사용으로 인한 유휴 시간을 보상하는 것입니다.)
- 총 44x 2.5GHz 코어를 사용하는 VPS에서 분당 거의 900 개의 시뮬레이션을 얻습니다.
- 전체 64x 2.93GHz 코어를 사용하는 DL580에서 분당 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