Корисні інструменти для моніторингу та налагодження продуктивності дискового введення-виведення в 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
OR
# 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"

Потім потрібно зменшити інтервал збору даних, визначений у завданнях sysstat cron. За промовчанням встановлено кожні 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
Поділіться своєю любов'ю

Залишити відповідь

0 комментариев
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x