URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID13
Нить номер: 826
[ Назад ]

Исходное сообщение
"Производительность raid массива."

Отправлено stre10k , 06-Ноя-12 17:39 
Добрый день.

Есть рейд 6 массив из 12 SATA дисков на контроллере Adaptec 6й серии 512MB Cache.
Read и Write cache включены. Файловая система xfs с заданными sw и su.


При тестировании получились интересные результаты.

iozone -O -i0 -i1 -i2 -s4G -r4k -R

"Writer report"     137649
"Re-writer report"  193208
"Reader report"     146244
"Re-Reader report"  151575

Случайное чтение идет со скоростью 200 iops(по iostat), окончания теста не дожидался.

При этом тест в 100 потоков дает такие результаты:

iozone -O -i0 -i1 -i2 -s40M -r4k -R -t 100

"  Initial write "   42760.28
"        Rewrite "   31235.14
"           Read "  135243.35
"        Re-read "  133918.22
"    Random read "    4361.25
"   Random write "    3402.84


Что может повлиять на производительность случайного чтения в первом случае?
Пробовал увеличить queue_depth и поменять scheduler на noop.
Тестировал разные уровни raid (10, 5, 50) со всеми так.
Так и должно быть или что-то не то с настройками?


Содержание

Сообщения в этом обсуждении
"Производительность raid массива."
Отправлено Bosh , 06-Ноя-12 19:15 
Убери sw и su
Создай
parted -a optimal /dev/sdb mkpart primary xfs 2048s 100%
mkfs.xfs -f -l lazy-count=1,size=128m,version=2 -n size=64k -b size=4096 -d agsize=512m -i size=1024 /dev/sdb1
agsize в зависимости от типа данных
mount -t xfs -o defaults,attr2,inode64,noatime,nodiratime,nobarrier,logbufs=8,logbsize=128k,noquota,allocsize=512m /dev/sdb1 /mnt/xfsdisk
allocsize в зависимости от типа данных

Затюнь disk system под xfs

#!/bin/sh

for i in `cat /proc/diskstats | grep sd[a-zA-Z][^0-9] | awk '{print $3}'`
do
   blockdev --setra 4096 /dev/$i
   echo deadline > /sys/block/$i/queue/scheduler

   echo 4096 > /sys/block/$i/queue/read_ahead_kb
   echo 4096 > /sys/block/$i/queue/nr_requests
   echo 64 > /sys/block/$i/queue/iosched/fifo_batch
   echo 0 > /sys/block/$i/queue/iosched/front_merges
   echo 150 > /sys/block/$i/queue/iosched/read_expire
   echo 1500 > /sys/block/$i/queue/iosched/write_expire
   echo "Set $i - done"
done

echo 10 > /proc/sys/vm/swappiness

echo 10 > /proc/sys/vm/dirty_ratio
echo 5 > /proc/sys/vm/dirty_background_ratio
echo 1000 > /proc/sys/vm/dirty_expire_centisecs
echo 1000 > /proc/sys/vm/dirty_writeback_centisecs
echo 50 > /proc/sys/vm/vfs_cache_pressure

Посмотри в /proc/interrupts
грепни по aacraid  и сделай так что бы это прерывание работало
на ВСЕХ процах (если сервак малтикоре)


>[оверквотинг удален]
> "  Initial write "   42760.28
> "        Rewrite "   31235.14
> "           Read "  135243.35
> "        Re-read "  133918.22
> "    Random read "    4361.25
> "   Random write "    3402.84
> Что может повлиять на производительность случайного чтения в первом случае?
> Пробовал увеличить queue_depth и поменять scheduler на noop.
> Тестировал разные уровни raid (10, 5, 50) со всеми так.
> Так и должно быть или что-то не то с настройками?


"Производительность raid массива."
Отправлено stre10k , 07-Ноя-12 14:40 
>[оверквотинг удален]
> done
> echo 10 > /proc/sys/vm/swappiness
> echo 10 > /proc/sys/vm/dirty_ratio
> echo 5 > /proc/sys/vm/dirty_background_ratio
> echo 1000 > /proc/sys/vm/dirty_expire_centisecs
> echo 1000 > /proc/sys/vm/dirty_writeback_centisecs
> echo 50 > /proc/sys/vm/vfs_cache_pressure
> Посмотри в /proc/interrupts
> грепни по aacraid  и сделай так что бы это прерывание работало
> на ВСЕХ процах (если сервак малтикоре)

Спасибо.
Это настройки для теста или рекомендуется их использовать в работе?

Попробовал, ситуация не изменилась.
Я думал что при rnd r/w тесте iozone наполняет очередь устройства, но это оказалось не так: при i0 тесте avgqu-sz ~140, при i2 - avgqu-sz 1. При такой работе скорость соответствует теоретической.


"Производительность raid массива."
Отправлено Bosh , 06-Ноя-12 19:21 
И ,ДА !!!,  6 RAID он чисто просто тормоз бай дизайн ,  если есть время собери 10

>[оверквотинг удален]
> "  Initial write "   42760.28
> "        Rewrite "   31235.14
> "           Read "  135243.35
> "        Re-read "  133918.22
> "    Random read "    4361.25
> "   Random write "    3402.84
> Что может повлиять на производительность случайного чтения в первом случае?
> Пробовал увеличить queue_depth и поменять scheduler на noop.
> Тестировал разные уровни raid (10, 5, 50) со всеми так.
> Так и должно быть или что-то не то с настройками?


"Производительность raid массива."
Отправлено stre10k , 06-Ноя-12 21:00 
> И ,ДА !!!,  6 RAID он чисто просто тормоз бай дизайн
> ,  если есть время собери 10

Вот сводная таблица тестов в iops, rnd в 100 потоков, write/read в один:

RAID 10
rnd read    4209.22
rnd write    3597.51
write    136689
read    147415

RAID 5
rnd read    4326.53
rnd write    3181.74
write    145705
read    161480

RAID 6
rnd read    4361.25
rnd write    3402.84
write    137649
read    146244


В данном случае RAID 6 и 10 примерно наравне.


"Производительность raid массива."
Отправлено Bosh , 06-Ноя-12 21:03 
Тогда  вперед к первому моему посту и пробуй )

>[оверквотинг удален]
> rnd read 4326.53
> rnd write 3181.74
> write 145705
> read 161480
> RAID 6
> rnd read 4361.25
> rnd write 3402.84
> write 137649
> read 146244
> В данном случае RAID 6 и 10 примерно наравне.


"Производительность raid массива."
Отправлено нуда , 10-Ноя-12 17:05 
> Добрый день.
> Есть рейд 6 массив из 12 SATA дисков на контроллере Adaptec 6й
> серии 512MB Cache.
> Read и Write cache включены. Файловая система xfs с заданными sw и
> su.

привет!
read cache выключи, под raid6 контроллер должен быть заточен т.е. алгоритм этот специфический, для raid6 оптимальное количество дисков при 12 шпинделях это 11 + 1 spare.
затестите bonnie++, у меня есть для от него некоторая статистика для сравнения, несколько raid6,raid10 и т.п. на 12 дисковых массивах.


"Производительность raid массива."
Отправлено нуда , 10-Ноя-12 17:09 
например, конкретно для raid6 вот:

# node15 (hp dl165g6), ext4 (noatime, nobarrier), raid6, infortrend s12s, 12 sas disks, seagate st31000640ss
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-                            
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--                            
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP                            
node15          63G   700  98 398214  88 69470   8  3304  96 288832  20 593.8  42                          
Latency             11656us     296ms     905ms   27698us     237ms   81046us                              
Version  1.96       ------Sequential Create------ --------Random Create--------                            
node15              -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--                            
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP                            
                 16 30311  50 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++                            
Latency              1673us     671us     701us     180us      25us      57us                              
1.96,1.96,node15,1,1301719718,63G,,700,98,398214,88,69470,8,3304,96,288832,20,593.8,42,16,,,,,30311,50,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,11656us,296ms,905ms,27698us,237ms,81046us,1673us,671us,701us,180us,25us,57us                                


"Производительность raid массива."
Отправлено stre10k , 04-Дек-12 21:43 
> привет!
> read cache выключи, под raid6 контроллер должен быть заточен т.е. алгоритм этот
> специфический, для raid6 оптимальное количество дисков при 12 шпинделях это 11
> + 1 spare.

Контроллер достаточно хороший, Adaptec 6серии, умеет множество уровней. Я думаю он должен справляться с raid6.

Можешь объяснить почему такое количество дисков оптимально?

> затестите bonnie++, у меня есть для от него некоторая статистика для сравнения,
> несколько raid6,raid10 и т.п. на 12 дисковых массивах.

Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
b12             64G  2225  99 792466  42 289518  25  5454  98 659823  35 506.1  17
Latency              7584us   11953us     275ms    8801us     234ms     127ms
Version  1.96       ------Sequential Create------ --------Random Create--------
b12                 -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++
Latency               278us     141us      90us     184us      21us      57us
1.96,1.96,b12,1,1354631068,64G,,2225,99,792466,42,289518,25,5454,98,659823,35,506.1,17,16,,,,,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,7584us,11953us,275ms,8801us,234ms,127ms,278us,141us,90us,184us,21us,57us


"Производительность raid массива."
Отправлено Andrey , 15-Дек-12 17:14 
а что вам не нравится?
скорость приличная и это на обычных SATA дисках? цифры больше для SSD подходят...

"Производительность raid массива."
Отправлено stre10k , 19-Дек-12 10:29 
> а что вам не нравится?
> скорость приличная и это на обычных SATA дисках? цифры больше для SSD
> подходят...

Скорость хорошая, при многопоточной работе.
А вот если загрузить на него 3 млн. файлов и запустить find, то можно ждать пол дня.
При этом find в 20 потоков выполняется меньше часа.