iostat, обычно предоставляемый пакетом sysstat, сообщает активность CPU и блочных устройств. Используйте повторные образцы вместе с задержкой приложения: одна пропускная способность или утилизация не доказывает, что видимую пользователю проблему вызывает хранилище.
Использование процессов · Урок 5
Мониторинг ввода-вывода
Узнайте, как использовать образцы iostat для исследования активности CPU и блочных устройств.
Сбор полезных образцов
Запустите расширенную статистику устройств с интервалом в одну секунду:
$ iostat -xz 1
В распространённых реализациях первый отчёт содержит средние значения с момента загрузки, а последующие охватывают каждый интервал. Параметр -x добавляет расширенные поля, а -z скрывает неактивные устройства. Дайте команде собрать несколько интервалов нормальной и проблемной работы.
Что обычно представляет первый отчёт iostat?
Чтение полей CPU
Раздел CPU обычно включает время пользователя (%user), системы (%system), простоя (%idle), ожидания ввода-вывода (%iowait) и времени, забранного виртуальной машиной (%steal). Ожидание ввода-вывода — это время простоя CPU, когда в системе есть незавершённый запрос I/O, а не процент занятости диска.
Что описывает %iowait?
Чтение полей устройств
Имена полей зависят от версии sysstat, но полезны следующие понятия:
- Число операций чтения и записи или объём данных в секунду показывает интенсивность нагрузки.
awaitсообщает среднюю задержку запроса, включая время в очереди и обслуживания.- Поля среднего размера очереди показывают запросы, ожидающие или получающие обслуживание.
%utilсообщает процент прошедшего времени, когда устройство выполняло ввод-вывод.
Высокий %util может указывать на насыщение простого последовательного устройства, но не переводится напрямую в доступную производительность параллельного хранилища, массива или виртуального устройства. Сравнивайте задержку с конструкцией устройства, характером нагрузки и целью обслуживания.
Какое поле наиболее непосредственно связано со средней задержкой запроса ввода-вывода?
Сопоставление свидетельств
До выводов сопоставьте имена устройств с точками подключения и нижележащими устройствами:
$ lsblk -o NAME,TYPE,SIZE,FSTYPE,MOUNTPOINTS
$ findmnt
Затем сопоставьте интервалы iostat со временем ответа приложения, метриками базы данных или файловой системы и вводом-выводом процессов. Device mapper, RAID, контейнеры и сетевые хранилища могут добавлять уровни, для которых нужны собственные инструменты.
Что следует сделать после обнаружения высокого %util у устройства?
Урок завершён
Вы завершили Мониторинг ввода-вывода
Теперь вы можете использовать iostat как свидетельство при исследовании ввода-вывода.
Собирайте несколько интервалов расширенной статистики.
Отличайте ожидание ввода-вывода CPU от времени занятости устройства.
Интерпретируйте вместе задержку, очередь, пропускную способность и утилизацию.
Сопоставляйте устройства с нагрузками и проверяйте влияние на приложение.
Сохраните прогресс
Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.
Создать бесплатный аккаунт