Vous n'êtes pas identifié(e).
Bonjour,
Nous avions des problèmes de performance des accès disques sur des machines virtuelles. A priori, il y a quelques astuces que je rappelle ci-dessous:
- si l'hyperthreading est activé, toujours créer des VMs avec un nombre paire de vCPUs. Si non, ça s'effondre.
- toujours activer explicitement le support matériel de la virtualisation (extension Intel VT-X + EPT RVI ou son équivalent AMD le cas échéant). Ne pas laisser VMWare gérer ça en mode "Automatic".
En gros, nous sommes passés de vitesses d'accès dignes d'un Atari ST à des performances décentes (entre 200 et 300 Mo/s en écriture). Avant modification des confs, nous avions de bonnes performances lorsque les instances PostgreSQL n'étaient pas démarrées, mais des performances exécrables lorsque celles-ci étaient démarrées.
time dd if=/dev/zero of=toto.bin bs=8192 count=1000000
14849+0 enregistrements lus
14849+0 enregistrements écrits
121643008 octets (122 MB) copiés, 13,6363 seconde, 8,9 MB/s
real 0m13.730s
user 0m0.033s
sys 0m2.672s
Après:
time dd if=/dev/zero of=toto.bin bs=8192 count=1000000
119133+0 enregistrements lus
119132+0 enregistrements écrits
975929344 octets (976 MB) copiés, 7,27156 seconde, 134 MB/s
real 0m7.274s
user 0m0.062s
sys 0m1.645s
(La commande dd est interrompue par Ctrl-C ou manque d'espace).
A noter, la présentation de Jignesh Shah au sujet de PostgreSQL en environnement virtualisé: http://jkshah.blogspot.com/2011/09/runn … rtual.html
Thomas Reiss
Hors ligne
Merci pour l'info, c'est excellent
Guillaume.
Hors ligne
J'ai toujours un truc à voir, sur la VM test, on est à 134Mo/s mais sur une autre on est à 276 Mo/s. Je ne sais pas s'il y a encore un facteur qui joue. Je dois démarrer un projet de bench pour s'assurer que les VM ont des perfs potables - bon, dans la vraie vie on l'aurait fait avant de passer en prod....
Thomas Reiss
Hors ligne
Salut Frost242,
Ahh si tout le monde nous faisait des retours comme ça!
Donc, merci beaucoup pour ce post
A+!
Jean-Paul Argudo
https://www.postgresql.fr
https://www.crunchydata.com
Hors ligne
Salut Jean-Paul,
Je referai un retour si j'ai l'occasion de faire ces fameux tests de performances. N'hésitez pas à compléter ou à corriger les infos, je ne prétend pas que c'est la recette miracle. Néanmoins, les accès disques sont maintenant normaux.
A+
Thomas Reiss
Hors ligne
As tu essayé de jouer avec le read-ahead? blockdev --setra 8192 /dev/sda fait souvent des merveilles. Attention toutefois au dimensionnement du read-ahead en fonction des capacités des disques.
Plus de détails dans le livre de Greg Smith :
http://www.2ndquadrant.com/fr/bases-de- … formances/
Dernière modification par dim (21/09/2011 15:00:07)
Dimitri Fontaine
http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support
Hors ligne
Attention aussi à superviser régulièrement les performances des machines virtuelles. Il suffit que l'administrateur des VMs, ou du SAN, ait une bouffée de chaleur, ou bien une urgence, et il peut très bien décider de donner un peu de tes disques, de ta ram, ou de tes cpus à quelqu'un d'autre (ça fait surtout mal avec les disques).
On a souvent des bonnes performances à la mise en place, quand l'environnement est tout beau tout neuf, et qui baissent discrètement au fur et à mesure des mises en prod dans l'environnement virtualisé.
Marc.
Hors ligne
Merci Dim pour le truc. J'essayerai de faire mettre ça en place. Ce qui pêche, ce sont surtout les écritures, je doute que ce paramètre influence ces opérations.
A priori, la solution donnée ne fonctionne pas dans tous les cas. On essaye d'avancer encore sur le sujet... En tout cas, ne vous attendez pas à des miracles. On va explorer la piste soulevée par Marc dès le retour de notre admin SAN.
Merci pour vos suggestions.
Thomas Reiss
Hors ligne
On a une nouvelle piste: les VM qui ont maintenant de bonnes perfs sont en RHEL 5. Celles qui posent encore problèmes sont en CentOS 5. De la même façon, les RHEL disposent de moins de RAM que les CentOS. Encore une fois, il nous faut pousser les tests pour avoir une réponse.
Concernant la charge, on est limite, mais pour l'instant on tient encore.
Thomas Reiss
Hors ligne
Les drivers vmware sont en même version sous CentOs et Red Hat ? Y aurait pas tout bêtement un machin qui merdoie à leur installation sur CentOs ? (CentOs est supporté ?)
Marc.
Hors ligne
Alors, je reviens avec ça. On avait loosé une conf de VMWare pour l'accès au SAN --> réglé.
Ensuite je n'ai pas suivi, mais il y aussi une histoire avec la version de vmware tools et probablement des pilotes. Là, je ne sais pas en dire plus, n'étant pas en charge de ça (et surtout formateur au moment de la résolution).
Thomas Reiss
Hors ligne
Merci Thomas de ce petit retour, qui vient de m'être utile
Je suis passer de 30MB/s à 70MB/s
Sachant que les VMWare tools ne sont pas installés sur la Debian Squeeze
Christophe Chauvet
Directeur Technique
Sylëam Info Services
Mon site
Hors ligne