blog.bressure.net

Paramétrage

Performances VM et disque

admin

Les services web que j’héberge montraient des signes de lenteur dont mes visiteurs se plaignaient. Mes sondes Grafana corroboraient ce constat avec des temps mesurés sur le serveur même de l’ordre de 2-3 secondes voire plusieurs secondes pour certains services.

temps de réponse depuis l’hôte même

Même si mes services sont dockerisés, docker ne semblaient pas être la cause de mes problèmes de performance car les conteneurs sur l’hôte étaient peut affectés contrairement à ceux qui étaient sur ma VM de production. En y regardant de plus près, je me suis aperçu que seul des io wait étaient suspects sur ma VM de production. Ils étaient de l’ordre de 20 % voir plus. En modifiant les paramètres de cache des disques dans virt cela ne changeait rien. J’ai ensuite essayé de voir dans la VM les processus en cause des ces io en pensant pouvoir influer sur les paramétrages des SGBD. Mais là aussi il n’y avait rien de probant.

Par ailleurs j’avais remarqué que les performances étaient très dégradées lors de ma sauvegarde quotidienne qui survient le matin à partir de 7-8h.  La piste du disque se confirmait ! Dans ma supervision si le service n’a pas répondu en moins de 10s, je considère qu’il est KO. 10s c’est vraiment large.

SSD mon sauveur de VM

Mes disques de VM sont des fichiers .qcow sur le système de fichier de l’hôte. On peut par ailleurs utiliser directement un périphérique de l’hôte comme disque de VM mais faire cette modification m’aurait entraîné dans des manipulations de l’hôte notamment en modifiant mon mécanisme de sauvegarde que je ne voulais pas faire car trop coûteux en temps.

Au lieu de cela, j’ai choisi de remplacer mes disques lents 5400 t/min par des SSD nvme. C’est comme passer du moyen-âge au 20e siècle. J’expliquerai dans un prochain billet les étapes du remplacement pour ne montrer ici que le résultat sur les performances de mes services.

SSD nvme donne un coup de boost aux performances

On voit clairement le gain avec un temps de réponse sous 0.25 seconde même pour les services en bleu claire et orange qui étaient très sujet à des lenteurs. La plage de temps du graphique est celle où se déroule ma sauvegarde quotidienne donc la plus défavorable en terme de charge io. Les performances sont très bonnes: le jour et la nuit !

Influence de docker

J’indiquais plus haut que docker ne semblait pas être responsable des lenteurs car les conteneur sur le système hôte repondaient rapidement. Certe, le fichier de .qcow sur SSD permet de régler tous mes problèmes de temps de réponse mais pour être tout à fait exact il m’aurait fallu avoir une VM avec des service natif non dockerisés. Or j’en ai plus !

Cependant docker utilise intensivement le disque pour les overlays des systèmes de fichier des images, donc il doit y avoit un impact que je n’ai pas pu mesurer. Le SSD sur l’hôte de la VM résolvant tous les problèmes !

Tags:

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Back to top