Vous n'êtes pas identifié(e).

#1 20/09/2011 11:12:58

frost242
Administrateur

Retour sur les performances de PostgreSQL sur VMWare ESX

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

#2 20/09/2011 17:11:42

gleu
Administrateur

Re : Retour sur les performances de PostgreSQL sur VMWare ESX

Merci pour l'info, c'est excellent smile


Guillaume.

Hors ligne

#3 20/09/2011 17:33:23

frost242
Administrateur

Re : Retour sur les performances de PostgreSQL sur VMWare ESX

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.... wink


Thomas Reiss

Hors ligne

#4 21/09/2011 11:15:12

jpargudo
Administrateur

Re : Retour sur les performances de PostgreSQL sur VMWare ESX

Salut Frost242,


Ahh si tout le monde nous faisait des retours comme ça! big_smile

Donc, merci beaucoup pour ce post big_smile

A+!

Hors ligne

#5 21/09/2011 13:48:40

frost242
Administrateur

Re : Retour sur les performances de PostgreSQL sur VMWare ESX

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+ wink


Thomas Reiss

Hors ligne

#6 21/09/2011 14:59:35

dim
Membre

Re : Retour sur les performances de PostgreSQL sur VMWare ESX

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

#7 21/09/2011 15:51:27

Marc Cousin
Membre

Re : Retour sur les performances de PostgreSQL sur VMWare ESX

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

#8 22/09/2011 22:23:40

frost242
Administrateur

Re : Retour sur les performances de PostgreSQL sur VMWare ESX

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

#9 26/09/2011 16:32:30

frost242
Administrateur

Re : Retour sur les performances de PostgreSQL sur VMWare ESX

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

#10 26/09/2011 16:44:39

Marc Cousin
Membre

Re : Retour sur les performances de PostgreSQL sur VMWare ESX

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

#11 12/10/2011 16:17:42

frost242
Administrateur

Re : Retour sur les performances de PostgreSQL sur VMWare ESX

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

#12 09/11/2011 15:15:52

KrysKool
Administrateur

Re : Retour sur les performances de PostgreSQL sur VMWare ESX

Merci Thomas de ce petit retour, qui vient de m'être utile wink

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

Pied de page des forums