TL;DR Même lorsqu'il s'agit de différentes couches telles que le système d'exploitation et le middleware, la vitesse de lecture / écriture du disque existe toujours en tant que facteur pouvant être un goulot d'étranglement. Présentation d'une méthode simple pour mesurer le débit du disque lorsque vous pensez qu'un disque est le goulot d'étranglement.
dd
et la commande pv
.À titre d'exemple, je pense qu'il est utile d'étudier par la méthode introduite lorsque le processus de compression est lent pour une raison quelconque lors de l'exécution du processus de compression de fichiers.
Vous pouvez mesurer le débit de lecture en utilisant la commande dd
pour définir le disque à mesurer sur ʻif et en spécifiant
/ dev / null pour ʻof
. En passant, notez qu'il s'agit d'une commande dd
, il est donc important de savoir que ce sera un accès séquentiel.
/ dev / sda1
dd if=/dev/sda1 of=/dev/null bs=16k status=progress
La sortie sera la suivante.
584122368 bytes (584 MB) copied, 4.61756 s, 127 MB/s
La méthode présentée ci-dessus entraîne une vitesse de disque presque pure. Cependant, comme dans l'exemple de la scène d'utilisation, par exemple, lorsque le processus de compression est lent, vous voudrez peut-être distinguer s'il s'agit de la vitesse du disque pur ou du processus de compression est le goulot d'étranglement et lent. Dans un tel cas, la commande «pv» qui peut mesurer la vitesse de traitement de chaque commande est effective.
La commande pv
est une commande qui mesure la quantité de données qui traverse un tuyau lors du traitement de tuyau. Par exemple, si vous avez l'exemple suivant, vous pouvez vérifier la quantité de données passées de la commande tar
à la commande lz4
, c'est-à-dire à quelle vitesse le traitement de la commande tar
est exécuté. Cela permet de déterminer si la commande tar
est le goulot d'étranglement ou si la commande lz4
est le goulot d'étranglement lorsque la vitesse d'exécution des commandes suivantes est lente pour une raison quelconque.
tar -b 256 -cvf - /data/ | lz4 -c
Il est possible de mesurer en insérant la commande pv
entre les tuyaux que vous souhaitez mesurer comme indiqué ci-dessous.
tar
tar -b 256 -cvf - /data/ | pv | lz4 -c > /dev/null
lz4
tar -b 256 -cvf - /data/mysql/ | lz4 -c | pv > /dev/null
La sortie sera la suivante.
8.66GiB 0:00:04 [2.19GiB/s] [ <=> ]
Je pense qu'il existe de nombreuses façons de mesurer les performances d'un disque, mais cette fois, j'ai présenté la méthode ci-dessus comme un moyen facile de vérifier. Puisqu'il existe différents types d'accès au disque tels que «Lecture», «Ecriture», «E / S aléatoire», «E / S séquentielle» et l'indice de vitesse «IOPS» Débit »,« Quelle est cette heure? » Si vous êtes conscient de "Est-ce un processus qui provoque un modèle d'accès?", Je pense que vous pouvez facilement aborder la découverte des goulots d'étranglement.
Recommended Posts