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
Это все, что у нас было для вас! Нам хотелось бы узнать ваше мнение об этом руководстве и вышеперечисленных инструментах. Оставьте комментарий через форму обратной связи ниже.
Вы также можете сообщить нам об инструментах, которые, по вашему мнению, отсутствуют в этом списке, но заслуживают размещения здесь.