Назад | Перейти на главную страницу

Какое значение HDD avgqu-sz критично?

Это мой график HDD avgqu-sz с разных компьютеров приложений: Приложение кэширует данные в памяти, и каждые n минут данные сбрасываются в файловую систему + каждые m минут данные (повторно) загружаются из файловой системы в память. В этом причина всплесков. Загрузка блочных устройств во время этих пиков составляет 80-95%.

В: Нужно ли мне беспокоиться о производительности дисков? Как интерпретировать этот график - нормально или нет? Мне нужно что-то оптимизировать?

Да, я знаю, что означает метрика avggu-sz. Это означает, что вы знаете, что обычно потоки данных такие

     app --> bio layer --> I/O Scheduler --> Driver --> Disks
                           nr_requests                  queue_depth

Это всего лишь общий обзор и не охватывает все. Пока nr_requests остается queue_Depth, ввод-вывод будет проходить быстро. Проблема начинает возникать, когда эти запросы превышают глубину очереди и ввод-вывод начинает удерживаться на уровне планировщика.

Глядя на ваши графики, я настоятельно рекомендую 1: проверить диск с высокими пиками 2: Попытайтесь изменить значение nr_requests и queue_depth, чтобы узнать, помогает ли это 3: Измените планировщик в вашей тестовой среде (поскольку ваши данные здесь не содержат запрос слияния (чтение / запись) .. поэтому я не могу комментировать)

                /sys/block/<your disk drive sda,sdb...>/queue/nr_requests (io scheduler)
                /sys/block/<your disk drive sda,sdb...>/device/queue_depth (driver)

Средний размер очереди более 1000 запросов является проблемой, если вы не используете массив с сотнями дисков, представленных как одно устройство.

Однако, исходя из вашего графика, я бы сказал, что большинство ваших всплесков - это артефакты измерений или графического отображения - ваши данные выглядят так, как будто они собираются с 5-минутными интервалами, но ширина всплесков в основном равна нулю - очень необычно. Вам следует взглянуть на необработанные данные, собранные sar или отображается iostat практически в реальном времени, чтобы это исключить. Если вы по-прежнему видите размер очереди более 30 запросов на используемый шпиндель, вернитесь сюда с данными.