Ceci est une ancienne révision du document !
Optimisation des performances pour les machines virtuelles KVM
VirtIO
VirtIO permet d'utiliser des techniques de paravirtualisation pour les points critiques:
- périphériques bloc
- interfaces réseau
Si le système de l'invité le supporte, il est recommandé d'utiliser des périphérique VirtIO qui permettent en générale d'augmenter les performances, où à performance égale, de diminuer la charge CPU en supprimant l'émulation de périphérique. VirtIO a été intégré dans le noyau linux 2.6.25, tout les invités ayant un noyau supérieur à cette version peuvent l'utiliser. Certaines distributions disposent de VirtIO avec un noyau plus ancien (backport) (ex: CentOS 5, RHEL5)
Problème CFQ/VirtIO
Il semble qu'il y ait un problème entre le scheduler I/O CFQ et VirtIO. Si des machines virtuelles utilisent VirtIO, il est conseillé de passer le scheduler des disque de l'hôte en deadline: (à placer dans /etc/rc.local après avoir vérifié le gain de performance)
for d in sdc sdd sde sdf;do echo deadline > /sys/block/$d/queue/scheduler;done