Petit bench Kvm & Vmware

Un peu d'Admin
25 novembre 2016

Cela faisait un moment que je me demandais ce que valait la virtualisation opensource KVM par rapport au leader du marché, le bien nommé VMWARE.
Il est évident que la grosse artillerie qu’est VSPHERE propose beaucoup plus de fonctionnalités qu’un proxmox, par exemple . Mais que vaut KVM juste au niveau des performances de la vm ?

Physique

La machine physique utilisée n’est pas un monstre de course:

2 CPUs x Intel(R) Core(TM) i5 CPU 650 @ 3.20GHz
8Go de RAM
Disque 7200 tours SATA
  1. J’ai installé proxmox 4.3 pour bencher kvm et un ESXI 6.0.0 Update 2 pour vmware.
    J’ai aussi testé par la même occasion: ESXI EMBEDDED HOST CLIENT, une interface web pour manager un ESXI. Dommage qu’il fasse renouvelé la licence ESXI tous les 2 mois, pas valable pour de le production (il me semble qu’à une époque ESXI était complètement gratuit, bref).

Virtuelle

la vm:

Centos 7 64bits
2Go de ram

Sous Proxmox, ethernet et disque dur(cache writeback) sont en virtio, sous proxmox le type de cache influence énormément les performances.
Je n’ai pas de datastore en vmfs.
Pour ‘bencher’ un peu tout çà, j’ai utilisé sysbench.

Résultat du bench
1) Le cpu

J’ai simplifié le retour sysbench pour ne garder que les informations pertinentes.
ESX

sysbench --test=cpu --cpu-max-prime=20000 run

Number of threads: 1
Maximum prime number checked in CPU test: 20000

Test execution summary:
    total time:                          22.0197s
    total number of events:              10000
    total time taken by event execution: 22.0185

KVM

Number of threads: 1

Maximum prime number checked in CPU test: 20000

Test execution summary:
    total time:                          21.2749s
    total number of events:              10000
    total time taken by event execution: 21.2733
2) Les I/O

ESX

sysbench --test=fileio --file-total-size=15G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run

Number of threads: 1

Operations performed:  27509 Read, 18339 Write, 58624 Other = 104472 Total
Read 429.83Mb  Written 286.55Mb  Total transferred 716.38Mb  (2.3879Mb/sec)
  152.83 Requests/sec executed

Test execution summary:
    total time:                          300.0013s
    total number of events:              45848
    total time taken by event execution: 227.9324

KVM

Operations performed:  42000 Read, 28000 Write, 89473 Other = 159473 Total
Read 656.25Mb  Written 437.5Mb  Total transferred 1.0681Gb  (3.6449Mb/sec)
  233.27 Requests/sec executed

Test execution summary:
    total time:                          300.0770s
    total number of events:              70000
    total time taken by event execution: 8.3522
La mémoire

VMWARE

sysbench --test=memory --memory-block-size=1M --memory-total-size=2G run

Memory transfer size: 2048M

Operations performed: 2048 ( 6254.75 ops/sec)

2048.00 MB transferred (6254.75 MB/sec)

Test execution summary:
    total time:                          0.3274s
    total number of events:              2048
    total time taken by event execution: 0.3271

KVM

Operations performed: 2048 ( 6481.27 ops/sec)

2048.00 MB transferred (6481.27 MB/sec)

Test execution summary:
    total time:                          0.3160s
    total number of events:              2048
    total time taken by event execution: 0.3154   
Petite conclusion

Me voila rassuré sur les perfs de kvm et de l’utilisation de proxmox en production. Je pense même que virtio donne de bien meilleur résultat au niveau des I/O disque que VMWARE.
Mais comme je l’ai dis en introduction, l’écosystème VMWARE est énormément plus riche qu’un environnement PROXMOX (si on en as les moyens financiers).