У меня есть Intel ssd (серия 530, 480gb). Данные из сайта Intel:
Последовательное чтение - 540 МБ/с
Последовательная запись - 490 МБ/с
Случайное чтение - 48000 IOPS
Случайная запись - 80000 IOPS
Текущая загрузка является приблизительно 5 000 iops, чтением на 50 мегабайтов/секунда, записью на 1 мегабайт/секунда. Диск используется для базы данных. Плагин "использования диска" Munin показывает 50% использования. Согласно тесту munin вычисляют его правильно.
Как я могу вычислить использование диска от текущего iops, считайте и запишите скорость?
Читая источник плагина diskstats, munin вычисляет процент использования диска, глядя на общее время, затраченное на выполнение ввода-вывода за заданный период мониторинга. Если устройство тратит все свое время на выполнение ввода-вывода, то это при 100% использовании. Это несколько не зависит от фактических скоростей ввода-вывода в секунду (IOPS) и чтения/записи, так как это будет иметь очень зависимый от модели доступа эффект. (Я полагаю, что вы на самом деле спрашиваете, как Мунин вычисляет процент использования, а не конкретно, как использовать ВГВР и размеры чтения/записи для вычисления того же самого)
Мунин получает эти данные из /proc/diskstats. В данном столбце находится 10-ое поле после названия устройства (при первом считывании Мунин делает обычное дело сохранения значения, а при втором считывании вычисляет разницу между старым и новым значением, чтобы отработать дельту за период мониторинга).
Документация по /proc/diskstats доступна здесь