Поиск по сайту:

3 лучших инструмента для мониторинга производительности дискового ввода-вывода в Linux


Краткая информация. В этом руководстве мы обсудим лучшие инструменты для мониторинга и отладки активности дискового ввода-вывода (производительности) на серверах Linux.

Ключевым показателем производительности для мониторинга на сервере Linux является активность дискового ввода-вывода (ввод-вывод), которая может существенно повлиять на некоторые аспекты сервера Linux, в частности на скорость сохранения или извлечения с диска файлов или данных (особенно на серверах баз данных). Это оказывает волновое влияние на производительность приложений и служб.

1. iostat – показывает статистику ввода и вывода устройства.

iosat — одна из многих терминальных утилит мониторинга системы в пакете sysstat, который представляет собой широко используемую утилиту, предназначенную для составления отчетов о статистике процессора и статистике ввода-вывода для блочных устройств и разделов.

Чтобы использовать iostat на вашем сервере Linux, вам необходимо установить пакет sysstat в вашей системе Linux, выполнив соответствующую команду для вашего дистрибутива 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]    

Чтобы просмотреть простой отчет об использовании устройства, запустите iostat с параметром командной строки -d. Обычно первый отчет предоставляет статистику о времени с момента запуска системы (время загрузки), а каждый последующий отчет касается времени, прошедшего с момента предыдущего отчета.

Используйте -x для расширенного статистического отчета и флаг -t, чтобы включить время для каждого отчета. Кроме того, если вы хотите исключить устройства без какой-либо активности из вывода отчета, добавьте флаг -z:

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

Чтобы отображать статистику в килобайтах в секунду, а не в блоках в секунду, добавьте флаг -k или используйте флаг -m для отображения статистики в мегабайтах в секунду.

iostat -d -k
OR
iostat -d -m

iostat также может отображать непрерывные отчеты об устройствах с интервалом x секунд. Например, следующая команда отображает отчеты с интервалом в две секунды:

iostat -d 2

Как и в предыдущей команде, вы можете отображать n количество отчетов с интервалом x секунд. Следующая команда отобразит 10 отчетов с двухсекундным интервалом.

iostat -d 2 10

Кроме того, вы можете сохранить отчет в файл для последующего анализа.

iostat -d 2 10 > disk_io_report.txt &

Дополнительную информацию о столбцах отчета можно найти на странице руководства iostat:

man iostat

2. sar — показать активность системы Linux

sar — еще одна полезная утилита, входящая в состав пакета sysstat и предназначенная для сбора, составления отчетов и сохранения информации о активности системы. Прежде чем вы сможете начать его использовать, вам необходимо настроить его следующим образом.

Сначала включите сбор данных в файле /etc/default/sysstat.

vi /etc/default/sysstat

Найдите следующую строку и измените значение на true, как показано.

ENABLED="true"

Далее вам необходимо уменьшить интервал сбора данных, определенный в заданиях cron sysstat. По умолчанию установлено значение каждые 10 минут. Вы можете уменьшить его до значения каждые 2 минуты.

Это можно сделать в файле /etc/cron.d/sysstat:

vi /etc/cron.d/sysstat

Сохраните файл и закройте его.

Наконец, включите и запустите службу sysstat, используя следующую команду systemctl:

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

Затем подождите 2 минуты, чтобы начать просмотр отчетов sar. Используйте команду sar и параметр командной строки -b, чтобы сообщить статистику ввода-вывода и скорости передачи, и -d, чтобы сообщить об активности для каждого блока. устройство, как показано.

sar -d -b

3. iotop — мониторинг использования дискового ввода-вывода Linux

Похожий на лучший инструмент мониторинга с точки зрения дизайна, iotop — это простая утилита, которая позволяет отслеживать активность и использование дискового ввода-вывода для каждого процесса.

Вы можете установить его на свой Linux-сервер следующим образом (не забудьте запустить соответствующую команду для вашего дистрибутива 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]    

Чтобы отслеживать активность ввода-вывода каждого процесса, вы можете запустить iotop без каких-либо аргументов следующим образом. По умолчанию задержка между итерациями составляет 1 секунду. Вы можете изменить это, используя флаг -d.

iotop
OR
iotop -d 2

iotop по умолчанию отображает все потоки процесса. Чтобы изменить это поведение так, чтобы оно отображало только процессы, используйте параметр командной строки -P.

iotop -P

Кроме того, используя параметр -a, вы можете указать ему отображать накопленный ввод-вывод, а не показывать пропускную способность. В этом режиме iotop показывает количество процессов ввода-вывода, выполненных с момента вызова iotop.

iotop -P -a

Это все, что у нас было для вас! Нам хотелось бы узнать ваше мнение об этом руководстве и вышеперечисленных инструментах. Оставьте комментарий через форму обратной связи ниже.

Вы также можете сообщить нам об инструментах, которые, по вашему мнению, отсутствуют в этом списке, но заслуживают размещения здесь.