fio измеряет скорость ввода-вывода виртуального диска RAID0, запутанный результат

я использую fio для проверки скорости ввода-вывода виртуального диска RAID0, состоящего из 16 жестких дисков, но результат скорости ввода-вывода сбивает с толку


Это centOS7.5, используйте DELL POWEREDGE RAID CONTROLLER H840, я создаю виртуальный диск «sdc», используя RAID0 с 16 жесткими дисками. Я пытался увеличить numjobs,iodepth, но не работал. Максимальная скорость чтения sdc составляет около 400 МБ/с, а скорость чтения с одного диска — около 130 МБ/с.


fio --filename=/dev/sdc --iodepth=64 --ioengine=libaio --direct=1 --rw=read --bs=4k --time_based --runtime=20 --numjobs=16 --group_reporting --name=фаза тестирования


Ожидаемый результат: скорость ввода-вывода sdc диска RAID0 примерно в 16 раз выше, чем у обычного диска.


Фактический результат:

Группа состояния выполнения 0 (все задания): ЧТЕНИЕ: bw=397МБ/с (416МБ/с), 397МБ/с-397МБ/с (416МБ/с-416МБ/с), io=7940МБ (8326МБ), run=20001- 20001 мс

Статистика диска (чтение/запись): sdc: ios=2018212/0, merge=0/0, ticks=624355/0, in_queue=631222, util=100,00%

и диск RAID0 с максимальной скоростью чтения 3 жестких дисков также составляет около 400 МБ/с.


person PlainWater    schedule 24.10.2019    source источник


Ответы (1)


(Хм, этот вопрос может быть не по теме переполнения стека)

Ваши 16 заданий (numjobs=16) будут читать из тех же областей /dev/sdc, что и друг друга. Возможно, задание 1 отправляет чтение вниз, данные для него извлекаются в кеш контроллера RAID, ввод-вывод возвращается в Linux, затем задание 2 отправляет чтение для той же области вниз, но теперь запрашиваемые данные очень быстро удовлетворяется кэшем RAID-контроллера и т. д.

Вам нужно будет убедиться, что каждое задание работает с непересекающимся регионом (например, с помощью offset_increment и соответствующий size), чтобы бороться с вышеперечисленным при использовании numjobs.

person Anon    schedule 12.11.2019