web-dev-qa-db-fra.com

Pourquoi mon ordinateur Nare-Metal-Métal 16x 2.93GHz est-il plus pauvre qu'un VPS avec des noyaux 4x 2,5 GHz?

J'ai écrit un morceau de logiciel multi-threadé qui fait un tas de simulations par jour. Il s'agit d'une tâche très intensive de la CPU, et j'ai exécuté ce programme sur les services cloud, généralement sur des configurations telles que 1 Go par noyau.

Je cours Centos 6.7 et /proc/cpuinfo me donne que mes quatre cœurs VPS sont de 2,5 GHz.

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:

Avec une élévation des taux de change, mes VPS commencèrent à être plus chers et je suis venu à une "bonne affaire" sur les serveurs Bare-Metal usagés.

J'ai acheté quatre HP DL580 G5 , avec quatre Intel Xeon X7350s chacun. Fondamentalement, chaque machine a 16 x 2,93 GHz Cores et 16 Go, pour garder des choses comme mon VPS nuage.

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:

Cela semblait essentiellement une bonne affaire, comme je pouvais arrêter d'utiliser des VPS pour effectuer ces travaux de lots. Maintenant c'est la chose étrange ...

  1. Sur le VPS, je courais 1,25 fil au noyau, comme je l'ai fait sur le métal nu. (Le fil de 0,25 supplément est de compenser le temps d'inactivité causé par une utilisation du réseau.)
  2. Sur mon VPS, en utilisant au total 44x 2,5 GHz Cores, je reçois près de 900 simulations par minute.
  3. Sur mon DL580, en utilisant au total 64x 2,93 GHz Cores, je ne reçois que 300 simulations par minute.

Je comprends que le DL580 a un ancien processeur. Mais si je passe un fil par noyau et que le serveur de métal nu a un noyau plus rapide, pourquoi est-il performant plus pauvre que mon VPS?

Je n'ai aucun échange de mémoire ne se produit dans aucun des serveurs.

Haut dit que mes transformateurs fonctionnent à 100%. Je reçois une charge moyenne de 18 (5 sur VPS).

Est-ce que cela va être de cette façon, ou je manque quelque chose?

Courir LSCPU me donne 1,6 GHz sur mon serveur de métal nu. Cela a été vu sur le /proc/cpuinfo également.

Ces informations sont-elles correctes ou est-elle liée à une gestion de puissance incorrecte?

[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
34

Les progrès du processeur, la vitesse d'horloge et IPC Calculs peut rendre presque impossible d'essayer de comparer raisonnablement comparer des processeurs anciens de décennie à des modèles modernes. Non seulement les instructions par cycle vont varier, mais les processeurs plus récents ont des instructions Les ensembles dédiés à des calculs complexes (Intel a ajouté AES-NI à titre d'exemple), la vitesse d'horloge n'est plus un comparateur raisonnable, en raison de ces facteurs (puis-je mentionner Multi-core vs hyperthreading ...). Avec suffisamment de temps et de patience vous pourrait certainement déterminer combien de PROC plus anciens égaux 1 nouveau Proc, mais les calculs finiront par dire que c'est moins cher et plus rapide d'acheter une nouvelle CPU.

44
Jim B

Je ne veux pas paraître terrible en soulignant quelque chose qui devrait Soyez évident ici, mais vous comparez A processeur de serveur haut de gamme à partir de 2014 à A - Processeur de serveur haut de gamme de 2007 .

Je ne pense pas que cela nécessite beaucoup plus d'explications.

Il y a une raison pour laquelle un HP ProLiant DL580 G5 est disponible si peu coûteux aujourd'hui . Ils étaient grands, lents et manquent de nombreuses fonctionnalités souhaitant dans des serveurs plus modernes. J'ai vendu mon dernier en 2009 . Ce fut un mauvais achat et vous seriez mieux servi avec une CPU des familles NEHALEM OU WESTMERE CPU, si vous êtes obligé d'acheter des équipements usagés.

De plus, les serveurs que vous avez achetés sont très inefficaces en termes de consommation d'énergie afin de pouvoir fonctionner coûteux.


Il apparaît comme si vos serveurs physiques fonctionnent en mode d'économie d'énergie qui remonte à la vitesse d'horloge de la CPU. Vous voudrez aller dans le BIOS (appuyez sur F9 au démarrage) et réinitialiser le serveur sur les paramètres par défaut d'usine ( Qui sait quoi d'autre a été modifié de défaut ?)] ==)] ==)

enter image description here

32
ewwhite