Несколько способов измерения производительности диска или дискового массива.
Измерение случайных IOPS с помощью FIO
FIO - популярный инструмент для измерения IOPS на сервере Linux. Достаточно гибкий и простой инструмент в пользовании.
В статье будет рассмотрено несколько вариантов проверки, а именно случайное чтение, случайная запись и их комбинация блоками по 4Кб с многопоточностью.
Установка в CentOS/RHEL
yum install epel-release -y && yum install fio -y
Установка в Debian/Ubuntu
apt-get install fio
Тест случайных операций на чтение/запись
Данный тест создаст файл размером 4Гб и выполнит чтение и запись 4Кб с использованием разделения 75%/25% в файле, причем одновременно будет выполняться 64 операции. На каждые 3 операции чтения - одна операция на запись.
Последним аспектом оценки производительности диска является измерение задержки по отдельным запросам. Один из способов выяснить это - воспользоваться утилитой ioping.
# ioping -c 10 . 4 KiB <<< . (xfs /dev/dm-0): request=1 time=106.1 us (warmup) 4 KiB <<< . (xfs /dev/dm-0): request=2 time=128.9 us 4 KiB <<< . (xfs /dev/dm-0): request=3 time=163.7 us 4 KiB <<< . (xfs /dev/dm-0): request=4 time=136.6 us 4 KiB <<< . (xfs /dev/dm-0): request=5 time=152.3 us 4 KiB <<< . (xfs /dev/dm-0): request=6 time=141.6 us 4 KiB <<< . (xfs /dev/dm-0): request=7 time=139.1 us 4 KiB <<< . (xfs /dev/dm-0): request=8 time=129.6 us (fast) 4 KiB <<< . (xfs /dev/dm-0): request=9 time=130.7 us 4 KiB <<< . (xfs /dev/dm-0): request=10 time=126.8 us (fast)
--- . (xfs /dev/dm-0) ioping statistics --- 9 requests completed in 1.25 ms, 36 KiB read, 7.20 k iops, 28.1 MiB/s generated 10 requests in 9.00 s, 40 KiB, 1 iops, 4.44 KiB/s min/avg/max/mdev = 126.8 us / 138.8 us / 163.7 us / 11.6 us
Среднее значение задержки 138.8 us (микросекунд), что в целом очень хорошо! Если данный параметр будет превышать несколько миллисекунд, то с диском или дисковым массивом наблюдаются проблемы. Необходимо провести диагностику и найти “узкое место”, либо источник проблемы.
Измерение IOPS с помощью CrystalDiskMark в Windows
CrystalDiskMark - небольшая бесплатная программа, предназначенная для сравнительного тестирования быстродействия жестких дисков. Позволяет измерить скорость чтения и записи данных.
Загружаем и запускаем утилиту:
В программе представлено несколько тестов:
Sequential Tests (последовательная запись и чтение)
4K Q8T8 (случайное чтение/запись блоков по 4Kб с глубиной 8 в 8 поток)
4K Q1T1 (случайное чтение/запись блоков по 4Kб с глубиной 1 в 1 поток)
4K QD32T1 (случайное чтение/запись блоков по 4Kб с глубиной 32 в 1 поток)
Запустим выполнение всех тестов и посмотрим на результат.
Посмотрим среднее количество IOPS на примере теста 4K Q8T8, для этого наведите курсор на значение и во всплывающей подсказке будет отображено количество IOPS.