5.4 KiB
5.4 KiB
Измерение скорости накопителей (HDD, SSD, USB Flash, NAS и т.д.) под Linux
Способов измерения скорости накопителей под Linux много, и можно подобрать такие, что более точно покажут производительность именно на ваших задачах.
Измерение задержек (latency) операций ввода/вывода
Утилита ioping проверяет задержки накопителей данных (похож на ping, но для дисков):
Установим ioping:
sudo apt install ioping
Замер:
ioping -c 10 -s 1m -W .
Где:
-c 10
-- количество замеров;-s 10m
-- размер блока данных для тестирования. `10m' -- 10 мегабайт;-W
-- С записью вместо чтения. Это более безопасно для временного файла в целевом каталоге, и, кроме того, запись ввода-вывода даёт более надежные результаты для систем, где некэшированные чтения не поддерживаются или происходит искажающее замеры кэширование на каком-то уровне..
-- каталог, в котором будут производиться замеры..
-- текущий каталог.
Другие ключи и опции можно посмотреть в справке man ioping
или ioping --help
.
Результаты теста будут примерно такими:
10 MiB >>> . (ext4 /dev/nvme0n1p2 1.79 TiB): request=1 time=21.1 ms (warmup)
10 MiB >>> . (ext4 /dev/nvme0n1p2 1.79 TiB): request=2 time=29.7 ms
10 MiB >>> . (ext4 /dev/nvme0n1p2 1.79 TiB): request=3 time=23.5 ms
10 MiB >>> . (ext4 /dev/nvme0n1p2 1.79 TiB): request=4 time=22.3 ms
10 MiB >>> . (ext4 /dev/nvme0n1p2 1.79 TiB): request=5 time=21.7 ms
10 MiB >>> . (ext4 /dev/nvme0n1p2 1.79 TiB): request=6 time=23.1 ms
10 MiB >>> . (ext4 /dev/nvme0n1p2 1.79 TiB): request=7 time=21.7 ms (fast)
10 MiB >>> . (ext4 /dev/nvme0n1p2 1.79 TiB): request=8 time=31.1 ms (slow)
10 MiB >>> . (ext4 /dev/nvme0n1p2 1.79 TiB): request=9 time=23.0 ms
10 MiB >>> . (ext4 /dev/nvme0n1p2 1.79 TiB): request=10 time=22.7 ms
--- . (ext4 /dev/nvme0n1p2 1.79 TiB) ioping statistics ---
9 requests completed in 218.8 ms, 90 MiB written, 41 iops, 411.3 MiB/s
generated 10 requests in 9.04 s, 100 MiB, 1 iops, 11.1 MiB/s
min/avg/max/mdev = 21.7 ms / 24.3 ms / 31.1 ms / 3.32 ms
Сверху выводятся данные по индивидуальным запросам:
10 MiB >>> . (ext4 /dev/nvme0n1p2 1.79 TiB): request=1 time=21.1 ms (warmup)
Где:
10 MiB
— размер блока данных, к которому идет доступ;<<< .
— текущая директория, на которой проводится тест;(ext4 /dev/nvme0n1p2 1.79 TiB)
— файловая система (ext4) и устройство (/dev/nvme0n1p2) с емкостью 1.79 ТБ, где выполняется тест;request=1
— номер запроса;time=21.1 ms
— время выполнения запроса (в миллисекундах --ms
, в микросекунды --us
);(warmup)
— первый запрос может использоваться для "прогрева", его результаты могут быть исключены из финальной статистики,(fast)
— запрос выполнен быстрее, чем среднее время выполнения,(slow)
— запрос выполнен медленнее, чем среднее время выполнения.
Снизу выводятся статистические данные по всем запросам:
--- . (ext4 /dev/nvme0n1p2 1.79 TiB) ioping statistics ---
9 requests completed in 218.8 ms, 90 MiB written, 41 iops, 411.3 MiB/s
generated 10 requests in 9.04 s, 100 MiB, 1 iops, 11.1 MiB/s
min/avg/max/mdev = 21.7 ms / 24.3 ms / 31.1 ms / 3.32 ms
Где:
9 requests completed in 218.8 ms
— количество запросов, завершенных за время теста и общее время выполнения;90 MiB written
— общий объем данных, записанных на диск;41 iops
— количество операций ввода/вывода в секунду (IOPS);411.3 MiB/s
— скорость записи данных на диск;generated 10 requests in 9.04 s
— количество запросов, сгенерированных за время теста и общее время выполнения;100 MiB
— общий объем данных, сгенерированных тестом;1 iops
— количество операций ввода/вывода в секунду (IOPS) при генерации данных;11.1 MiB/s
— скорость генерации данных;min/avg/max/mdev = 21.7 ms / 24.3 ms / 31.1 ms / 3.32 ms
— минимальное, среднее, максимальное время выполнения запроса и стандартное отклонение.