Как мне максимизировать производительность nvme RAID0(md) (в Linux)?

Производительность чтения (и записи) Nvme RAID0 иногда хуже, чем производительность одного отдельного базового диска.

hdparm -t /dev/md0 :

      Timing buffered disk reads: 7054 MB in  3.00       seconds = 2350.46 MB/sec

hdparm -t /dev/nvme0n1 :

      Timing buffered disk reads: 7160 MB in  3.00    seconds = 2386.32 MB/sec

Это устройство, размещенное в центре обработки данных, с голым металлом, диски и сервер охлаждаются должным образом, поэтому нет теплового регулирования из-за высоких температур.
В среднем диски имеют температуру около 45 C, как показано на рис.
Что-то не так с этими низкими скоростями массива, и я хочу понять, что именно. Вот полные характеристики:

      Epyc 7502p [2nd gen Rome 32cores/64threads]  
128 GB DDR4 32x4 3200mhz   
3x 3.8 TB samsung nvme pcie3 enteprise SSDs   
Raid0 software created with mdadm   
xfs filesystem on top of md0 created with defaults 'mkfs.xfs /dev/md0' 
debian 10 64bit with latest updates and stock kernel (no tinkering)   

Что я делаю не так ? Что я вообще не делаю? Я знаю, что отдача от любого рейда снижается, когда дело касается скорости, но это плохо.

PS: на первый взгляд, какую скорость чтения RAID0 вы ожидаете от этой системы?

1 ответ

Майкл Хэмптон и Стука правы: используйте fio для сравнительного анализа. Например:

      fio --filename=/dev/md0 --direct=1 --rw=read --bs=64k --ioengine=libaio --iodepth=64 --runtime=120 --numjobs=4 --time_based --group_reporting --name=seq_read
Другие вопросы по тегам