Les millors eines per supervisar el rendiment d'E/S de disc a Linux


Breu: en aquesta guia, parlarem de les millors eines per supervisar i depurar l'activitat d'E/S del disc (rendiment) als servidors Linux.

Una mètrica de rendiment clau per supervisar en un servidor Linux és l'activitat d'E/S (entrada/sortida) del disc, que pot afectar de manera significativa diversos aspectes d'un servidor Linux, especialment la velocitat d'emmagatzematge o recuperació del disc, fitxers o dades (especialment als servidors de bases de dades). Això té un efecte dominó en el rendiment de les aplicacions i serveis.

1. iostat: mostra les estadístiques d'entrada i sortida del dispositiu

utilitats de supervisió del sistema al paquet sysstat, que és una utilitat àmpliament utilitzada dissenyada per informar d'estadístiques de CPU i estadístiques d'E/S per a dispositius de blocs i particions.

Per utilitzar iostat al vostre servidor Linux, heu d'instal·lar el paquet sysstat al vostre sistema Linux executant l'ordre aplicable per a la vostra distribució Linux.

$ sudo apt install sysstat          [On Debian, Ubuntu and Mint]
$ sudo yum install sysstat          [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a app-admin/sysstat  [On Gentoo Linux]
$ sudo apk add sysstat              [On Alpine Linux]
$ sudo pacman -S sysstat            [On Arch Linux]
$ sudo zypper install sysstat       [On OpenSUSE]    

Per mostrar un informe senzill d'utilització del dispositiu, executeu iostat amb l'opció de línia d'ordres -d. Normalment, el primer informe proporciona estadístiques sobre el temps des de l'inici del sistema (hora d'arrencada) i cada informe posterior es refereix al temps des de l'informe anterior.

Utilitzeu el -x per a un informe d'estadístiques ampliat i el senyalador -t per activar el temps per a cada informe. A més, si voleu eliminar dispositius sense cap activitat a la sortida de l'informe, afegiu el senyalador -z:

# iostat -d -t 
OR
# iostat -d -x -t 

Per mostrar les estadístiques en kilobytes per segon en lloc de blocs per segon, afegiu la marca -k o utilitzeu la marca -m per mostrar estadístiques en megabytes per segon.

# iostat -d -k
OR
# iostat -d -m

iostat també pot mostrar informes de dispositius continus a intervals de x segons. Per exemple, l'ordre següent mostra informes a intervals de dos segons:

# iostat -d 2

Relacionat amb l'ordre anterior, podeu mostrar n nombre d'informes a intervals de x segons. La següent comanda mostrarà 10 informes a intervals de dos segons. Alternativament, podeu desar l'informe en un fitxer per a una anàlisi posterior:

# iostat -d 2 10
OR
# iostat -d 2 10 > disk_io_report.txt &

Per obtenir més informació sobre les columnes de l'informe, llegiu la pàgina de manual iostat:

# man iostat

2. sar – Mostra l'activitat del sistema Linux

sar és una altra utilitat útil que s'inclou amb el paquet sysstat, destinada a recopilar, informar o desar la informació de l'activitat del sistema. Abans de començar a utilitzar-lo, heu de configurar-lo de la següent manera.

Primer, activeu-lo per recopilar dades al fitxer /etc/default/sysstat.

# vi /etc/default/sysstat

Busqueu la línia següent i canvieu el valor a true tal com es mostra.

ENABLED="true"

A continuació, heu de reduir l'interval de recollida de dades definit als treballs cron de sysstat. De manera predeterminada, s'estableix cada 10 minuts, podeu baixar-lo a cada 2 minuts.

Podeu fer-ho al fitxer /etc/cron.d/sysstat:

# vi /etc/cron.d/sysstat

Deseu el fitxer i tanqueu-lo.

Finalment, habiliteu i inicieu el servei sysstat mitjançant l'ordre systemctl següent:

# systemctl enable --now sysstat.service
# systemctl enable sysstat.service

A continuació, espereu 2 minuts per començar a veure els informes sar. Utilitzeu l'ordre sar i l'opció de línia d'ordres -b per informar d'estadístiques d'E/S i velocitat de transferència i -d per informar de l'activitat de cada dispositiu de bloc, tal com es mostra.

# sar -d -b

3. iotop: supervisa l'ús d'E/S del disc de Linux

Similar a iotop és una utilitat senzilla que us permet supervisar l'activitat i l'ús d'E/S del disc per procés.

Podeu instal·lar-lo al vostre servidor Linux de la següent manera (recordeu executar l'ordre adequat per a la vostra distribució Linux):

$ sudo apt install iotop             [On Debian, Ubuntu and Mint]
$ sudo yum install iotop             [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-processs/iotop  [On Gentoo Linux]
$ sudo apk add iotop                 [On Alpine Linux]
$ sudo pacman -S iotop               [On Arch Linux]
$ sudo zypper install iotop          [On OpenSUSE]    

Per supervisar l'activitat d'E/S per procés, podeu executar iotop sense cap argument de la manera següent. Per defecte, el retard entre iteracions és d'1 segon. Podeu canviar-ho amb el senyalador -d.

# iotop
OR
# iotop -d 2

iotop mostrarà per defecte tots els fils d'un procés. Per canviar aquest comportament de manera que només mostri processos, utilitzeu l'opció de línia d'ordres -P.

# iotop -P

A més, utilitzant l'opció -a, podeu indicar-li que mostri l'E/S acumulada en lloc de mostrar l'amplada de banda. En aquest mode, iotop mostra la quantitat de processos d'E/S realitzats des que es va invocar iotop.

# iotop -P -a

Això és tot el que teníem per a tu! Ens agradaria conèixer els vostres pensaments sobre aquesta guia o les eines anteriors. Deixa un comentari a través del formulari de comentaris a continuació.

També ens podeu informar sobre les eines que creieu que falten en aquesta llista, però que mereixen aparèixer aquí.