Symptôme : enquête sur les performances des IO lente

Pour connaître les performances CQ, vérifiez request.log. Si la plupart des requêtes prennent un certain temps, quelle en est la cause ?

L'une des causes possibles serait la performance du disque et son application générale.

Certains facteurs bloquent les performances du disque, y compris "io-wait", qui représente le pourcentage de temps pendant lequel le processeur ou les processeurs attendent le système de disque car le système a une demande d'E / S de disque exceptionnelle. Les informations io-wait du journal sysstat ont tendance à entraîner des malentendus. Cependant, si vous faites attention, il n'est pas difficile de comprendre les performances du serveur.

Nous pouvons obtenir io-wait en mpstat et iostat, sous Linux. (Nous pouvons aussi obtenir les informations sous Windows, mais il n’est pas facile de les configurer pour recueillir les informations.) Le io-wait est calculé avec simplement wait-time pour le périphérique de stockage pendant la période. Veillez à ne pas avoir la valeur io-wait sur "all" de mpstat. Il s’agit d’une valeur moyenne. Nous devrions résumer les valeurs totales de io-wait de tous les CPU.

Par exemple, pendant la période de mesure, 1,0 sec sous un seul système de disque accède uniquement à CQ, si CPU0 attend io-wait pendant 0.1 sec, CPU1 pendant 0.2 sec, CPU2 pendant 0.3 sec et CPU3 pendant 0.4 sec, le système avec les 4 CPU attend ii-wait 1,0 sec, totalement 100%. Cela signifie que le système est bloqué pour exécuter tout processus de lecture / écriture de données depuis / vers le stockage en raison de io-wait. Pendant ce temps, la valeur moyenne est affichée à 25%. On dirait qu'il y a suffisamment de ressources. Mais n'utilisez pas la valeur car le système entier n'attend pas un io-wait de 0,25 secondes. Si le processus CQ / AEM est bloqué par de faibles performances du disque, la valeur moyenne maximale (indiquée dans la colonne '% iowait' sur le CPU 'all' 'de mpstat) est d'environ 100 % sur un CPU, 50 % sur deux CPU, 25 % sur quatre processeurs et 12,5 % sur huit processeurs. La valeur semble plus petite si le système a plus de processeurs. Mais en fait, le io-wait total est de 100 %, quel que soit le nombre de processeurs du système.

---------------
# mpstat -P ALL 5
...
08:50:50   CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
08:50:55   all   3.26 0.00  4.86  24.04   0.98   3.05   0.00   63.81   2219.00
08:50:55   0   0.84  0.00  1.88   14.41   0.00   0.00   0.00   82.88  1011.27
08:50:55   1   0.21  0.00  1.45   17.63   3.53   0.00   0.00   77.18   759.08
08:50:55   2   9.55  0.00  14.84  56.91  0.41   11.99 0.00    6.30    445.93
08:50:55   3   2.08  0.00  1.04     6.25   0.00   0.00   0.00   90.62   2.71

...
Ne faites pas confiance à '24,04 'sur la colonne'% iowait 'sur la ligne' tout 'du CPU ! Résumez toutes les valeurs% iowait de chaque CPU, 14.41 + 17.63 + 56.91 + 6.25.
(Si vous utilisez '24.04 ', multipliez 24.04 par 4.)
--------- ------

Si le système utilise plusieurs périphériques de stockage pour d'autres applications, la valeur totale de io-wait dépasse 100%. À ce moment-là, vérifiez iostat pour vérifier comment se charge chaque tranche / stockage.

Considérations

En général, si dépassé 10%, considérez que l'absence de processus d'E / S entraînerait une réponse tardive. Moins io-wait, meilleure est la performance. Pour réduire io-wait à moins que certains processus spécifiés n'entraînent une attente importante, vérifiez la configuration de stockage sur disque existante et envisagez de modifier le stockage sur disque, par exemple disque à hautes performances, configuration RAID ou SSD.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne