Добрый день.Есть рейд 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) со всеми так.
Так и должно быть или что-то не то с настройками?
Убери 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/schedulerecho 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"
doneecho 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) со всеми так.
> Так и должно быть или что-то не то с настройками?
>[оверквотинг удален]
> 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. При такой работе скорость соответствует теоретической.
И ,ДА !!!, 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) со всеми так.
> Так и должно быть или что-то не то с настройками?
> И ,ДА !!!, 6 RAID он чисто просто тормоз бай дизайн
> , если есть время собери 10Вот сводная таблица тестов в iops, rnd в 100 потоков, write/read в один:
RAID 10
rnd read 4209.22
rnd write 3597.51
write 136689
read 147415RAID 5
rnd read 4326.53
rnd write 3181.74
write 145705
read 161480RAID 6
rnd read 4361.25
rnd write 3402.84
write 137649
read 146244
В данном случае RAID 6 и 10 примерно наравне.
Тогда вперед к первому моему посту и пробуй )>[оверквотинг удален]
> 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 примерно наравне.
> Добрый день.
> Есть рейд 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 дисковых массивах.
например, конкретно для 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
> привет!
> 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
а что вам не нравится?
скорость приличная и это на обычных SATA дисках? цифры больше для SSD подходят...
> а что вам не нравится?
> скорость приличная и это на обычных SATA дисках? цифры больше для SSD
> подходят...Скорость хорошая, при многопоточной работе.
А вот если загрузить на него 3 млн. файлов и запустить find, то можно ждать пол дня.
При этом find в 20 потоков выполняется меньше часа.