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

Как проверить задержку диска в Linux?

Сделал апгрейд прошивки RAID и задержка вроде увеличилась.

Не могли бы вы посоветовать наиболее точный способ проверки задержек чтения и записи на диск?

Распространенным инструментом настройки жесткого диска Linux и базового мониторинга производительности является hdparm.

IOzone отличный тест.

Запустите тест произвольного чтения, случайной записи и случайного смешивания, чтобы проверить задержки.

ты можешь использовать dd для измерения задержки диска

например.

dd if=/dev/zero of=/root/testfile bs=512 count=1000 oflag=dsync

Я бы предложил использовать fio как я описал в ответе https://askubuntu.com/a/991311/50254

В fio позволяет получить больше информации о распределении задержек для различных рабочих нагрузок (что-либо между однопоточными огромными последовательными записями QD32 и смешанными случайными чтениями и записью 4k QD1 с несколькими потоками).

Я думаю, что если вы предполагаете, что у оборудования более высокая задержка, чем раньше, вам следует протестировать однопоточное случайное чтение 4k QD1 (это наиболее чувствительная к задержке операция, о которой я могу думать):

fio --name TEST --eta-newline=5s --filename=fio-tempfile.dat --rw=randread --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --fsync=1 --iodepth=1 --direct=1 --numjobs=1 --runtime=60 --group_reporting

Это создаст тестовый файл fio-tempfile.dat в текущем рабочем каталоге, поэтому убедитесь, что вы сначала переключились на устройство, которое хотите протестировать. (Если вы хотите протестировать необработанную производительность устройства вместо производительности с файловой системой, вы можете использовать необработанное устройство в качестве filename. Однако вы потеряете текущее содержимое указанного устройства.)

Вы также можете протестировать то же самое с записью вместо чтения данных:

fio --name TEST --eta-newline=5s --filename=fio-tempfile.dat --rw=randwrite --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --fsync=1 --iodepth=1 --direct=1 --numjobs=1 --runtime=60 --group_reporting

Если вы видите значительное увеличение задержки при записи, вы можете быть уверены, что старая прошивка позволяла записывать в кэш, а новая прошивка не позволяет этого. Если у вас нет RAID-контроллера с батарейным питанием или правильно настроенного ИБП, вы не захотите записывать в кеш-память, если считаете свои данные важными.