Pesquisa de site

3 melhores ferramentas para monitorar o desempenho de E/S de disco no Linux


Resumo: Neste guia, discutiremos as melhores ferramentas para monitorar e depurar atividades de E/S de disco (desempenho) em servidores Linux.

Uma métrica chave de desempenho a ser monitorada em um servidor Linux é a atividade de E/S (entrada/saída) de disco, que pode impactar significativamente vários aspectos de um servidor Linux, particularmente a velocidade de salvamento ou recuperação do disco, de arquivos ou dados (especialmente em servidores de banco de dados). Isso tem um efeito cascata no desempenho de aplicativos e serviços.

1. iostat – Mostra estatísticas de entrada e saída do dispositivo

iosat é um dos muitos utilitários de monitoramento de sistema baseados em terminal do pacote sysstat, que é um utilitário amplamente usado projetado para relatar estatísticas de CPU e estatísticas de E/S para dispositivos de bloco e partições.

Para usar iostat em seu servidor Linux, você precisa instalar o pacote sysstat em seu sistema Linux executando o comando aplicável para sua distribuição 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]    

Para mostrar um relatório simples de utilização do dispositivo, execute iostat com a opção de linha de comando -d. Normalmente, o primeiro relatório fornece estatísticas sobre o tempo desde a inicialização do sistema (tempo de inicialização), e cada relatório subsequente se refere ao tempo desde o relatório anterior.

Use o -x para um relatório de estatísticas estendido e o sinalizador -t para ativar o tempo para cada relatório. Além disso, se você deseja eliminar dispositivos sem qualquer atividade na saída do relatório, adicione o sinalizador -z:

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

Para exibir estatísticas em quilobytes por segundo em vez de blocos por segundo, adicione o sinalizador -k ou use o sinalizador -m para exibir estatísticas em megabytes por segundo.

iostat -d -k
OR
iostat -d -m

O iostat também pode exibir relatórios contínuos do dispositivo em intervalos de x segundos. Por exemplo, o comando a seguir exibe relatórios em intervalos de dois segundos:

iostat -d 2

Relacionado ao comando anterior, você pode exibir n números de relatórios em intervalos de x segundos. O comando a seguir exibirá 10 relatórios em intervalos de dois segundos.

iostat -d 2 10

Alternativamente, você pode salvar o relatório em um arquivo para análise posterior.

iostat -d 2 10 > disk_io_report.txt &

Para obter mais informações sobre as colunas do relatório, leia a página de manual iostat:

man iostat

2. sar – Mostrar atividade do sistema Linux

sar é outro utilitário útil que acompanha o pacote sysstat, destinado a coletar, relatar ou salvar informações de atividade do sistema. Antes de começar a usá-lo, você precisa configurá-lo da seguinte maneira.

Primeiro, habilite-o para coletar dados no arquivo /etc/default/sysstat.

vi /etc/default/sysstat

Procure a linha a seguir e altere o valor para “true” conforme mostrado.

ENABLED="true"

Em seguida, você precisa reduzir o intervalo de coleta de dados definido nos cron jobs sysstat. Por padrão, está definido para cada 10 minutos, você pode diminuí-lo para cada 2 minutos.

Você pode fazer isso no arquivo /etc/cron.d/sysstat:

vi /etc/cron.d/sysstat

Salve o arquivo e feche-o.

Por fim, habilite e inicie o serviço sysstat usando o seguinte comando systemctl:

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

Em seguida, aguarde 2 minutos para começar a visualizar os relatórios sar. Use o comando sar e a opção de linha de comando -b para relatar estatísticas de E/S e taxa de transferência e -d para relatar a atividade de cada bloco dispositivo conforme mostrado.

sar -d -b

3. iotop – Monitore o uso de E/S de disco Linux

Semelhante à principal ferramenta de monitoramento em termos de design, iotop é um utilitário simples que permite monitorar a atividade e o uso de E/S do disco por processo.

Você pode instalá-lo em seu servidor Linux da seguinte maneira (lembre-se de executar o comando apropriado para sua distribuição 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]    

Para monitorar a atividade de E/S por processo, você pode executar iotop sem nenhum argumento, como segue. Por padrão, o atraso entre as iterações é de 1 segundo. Você pode alterar isso usando o sinalizador -d.

iotop
OR
iotop -d 2

iotop exibirá por padrão todos os threads de um processo. Para alterar esse comportamento para que mostre apenas processos, use a opção de linha de comando -P.

iotop -P

Além disso, usando a opção -a, você pode instruí-lo a exibir E/S acumulada em vez de mostrar a largura de banda. Neste modo, iotop mostra a quantidade de processos de I/O realizados desde que iotop foi invocado.

iotop -P -a

Isso é tudo que tínhamos para você! Gostaríamos de saber sua opinião sobre este guia ou as ferramentas acima. Deixe um comentário através do formulário de feedback abaixo.

Você também pode nos informar sobre ferramentas que você acha que estão faltando nesta lista, mas que merecem aparecer aqui.