Страница 1 из 1

GMIRROR degraded write performance

Добавлено: 2010-03-05 18:52:34
dm07
Всем привет!
Имеется RAID 1 из 2х идентичных HDD на Gmirror, ОС FreeBSD 7.1. Давно мучает такая вот проблема:

Код: Выделить всё

dd if=/dev/zero of=/var/testfile bs=64k count=100000
100000+0 records in
100000+0 records out
6553600000 bytes transferred in 502.684217 secs (13037211 bytes/sec)
Т.е. на запись 13 Мб/с.
Тогда как на чтение приемлемо:

Код: Выделить всё

dd if=/var/testfile of=/dev/null bs=64k count=100000
100000+0 records in
100000+0 records out
6553600000 bytes transferred in 129.789657 secs (50494008 bytes/sec)
Есть патч http://www.freebsd.org/cgi/query-pr.cgi?pr=113885, однако он касается алгоритма чтения, а не записи.
Подскажите, кто решал эту проблему.

Re: GMIRROR degraded write performance

Добавлено: 2010-03-05 22:19:55
FiL
а сколько голые диски дают?

Re: GMIRROR degraded write performance

Добавлено: 2010-03-05 22:32:00
dm07
FiL писал(а):а сколько голые диски дают?
Не тестировал, сами винты:

Код: Выделить всё

ad0: 305245MB <WDC WD3200AAKS-00B3A0 01.03A01> at ata0-master SATA150
ad2: 305245MB <WDC WD3200AAKS-00L9A0 01.03E01> at ata1-master SATA150

Re: GMIRROR degraded write performance

Добавлено: 2010-03-05 22:40:25
Alex Keda
потестируйте

Re: GMIRROR degraded write performance

Добавлено: 2010-03-05 22:48:00
terminus
лучше пусть для начала

Код: Выделить всё

smartctl -a /dev/ad0
smartctl -a /dev/ad2
и посмотрит на статистику смарта - может один из дисков в зеркале дохнет и из-за него все зеркало тормозит.

Re: GMIRROR degraded write performance

Добавлено: 2010-03-05 22:52:43
dm07
terminus писал(а):лучше пусть для начала

Код: Выделить всё

smartctl -a /dev/ad0
smartctl -a /dev/ad2
и посмотрит на статистику смарта - может один из дисков в зеркале дохнет и из-за него все зеркало тормозит.
Ошибок нет (PASSED).

Re: GMIRROR degraded write performance

Добавлено: 2010-03-05 22:55:06
dm07
lissyara писал(а):потестируйте
Можно потестировать без разрушения зеркала (gmirror remove)?

Re: GMIRROR degraded write performance

Добавлено: 2010-03-05 22:59:35
Alex Keda

Код: Выделить всё

man diskinfo

Re: GMIRROR degraded write performance

Добавлено: 2010-03-05 23:48:43
FiL
саташная 300-ка? Я-бы сказал, что и читать оно должно пошустрее.

Re: GMIRROR degraded write performance

Добавлено: 2010-03-05 23:58:56
dm07
lissyara писал(а):

Код: Выделить всё

man diskinfo

Код: Выделить всё

diskinfo -c /dev/ad0
/dev/ad0
I/O command overhead:
        time to read 10MB block      0.126743 sec       =    0.006 msec/sector
        time to read 20480 sectors   2.342625 sec       =    0.114 msec/sector
        calculated command overhead                     =    0.108 msec/sector

diskinfo -c /dev/ad2
I/O command overhead:
        time to read 10MB block      0.132535 sec       =    0.006 msec/sector
        time to read 20480 sectors   2.395102 sec       =    0.117 msec/sector
        calculated command overhead                     =    0.110 msec/sector

Код: Выделить всё

diskinfo -t /dev/ad0
Seek times:
        Full stroke:      250 iter in   7.002828 sec =   28.011 msec
        Half stroke:      250 iter in   4.680347 sec =   18.721 msec
        Quarter stroke:   500 iter in   7.230445 sec =   14.461 msec
        Short forward:    400 iter in   2.759476 sec =    6.899 msec
        Short backward:   400 iter in   1.070995 sec =    2.677 msec
        Seq outer:       2048 iter in   0.368623 sec =    0.180 msec
        Seq inner:       2048 iter in   0.319685 sec =    0.156 msec
Transfer rates:
        outside:       102400 kbytes in   1.367978 sec =    74855 kbytes/sec
        middle:        102400 kbytes in   1.789801 sec =    57213 kbytes/sec
        inside:        102400 kbytes in   3.373301 sec =    30356 kbytes/sec

diskinfo -t /dev/ad2
Seek times:
        Full stroke:      250 iter in   7.271940 sec =   29.088 msec
        Half stroke:      250 iter in   4.446576 sec =   17.786 msec
        Quarter stroke:   500 iter in   7.062049 sec =   14.124 msec
        Short forward:    400 iter in   1.645267 sec =    4.113 msec
        Short backward:   400 iter in   1.779296 sec =    4.448 msec
        Seq outer:       2048 iter in   0.356319 sec =    0.174 msec
        Seq inner:       2048 iter in   0.278236 sec =    0.136 msec
Transfer rates:
        outside:       102400 kbytes in   1.274832 sec =    80324 kbytes/sec
        middle:        102400 kbytes in   2.184655 sec =    46872 kbytes/sec
        inside:        102400 kbytes in   3.134613 sec =    32668 kbytes/sec

Судя по скорости обмена, имеем затык в самом GMIRROR. Коллеги, нужна ваша помощь.

Re: GMIRROR degraded write performance

Добавлено: 2010-03-06 11:47:19
Alex Keda
забить? =)
=========
вообще, отказоустойчивлости бесплатно не бывает.
либо вы платите за хардверный контроллер, либо на софтверном проигрываете в скорости.

Re: GMIRROR degraded write performance

Добавлено: 2010-03-06 15:00:44
sch
на 7.1 решить проблему не получится 100% - никто уже этим релизом заниматься не будет, патчи с оптимизацией кода gmirror появятся в 7.3 - добавлены в 7-Stable и 8-Stable в декабре 2009. Насколько я понял из описания добавленного кода, ускорение работы зеркала предполагается не только на чтение, но и на запись.
Так что ищи возможность проверить производительность на свежих версиях FreeBSD

Re: GMIRROR degraded write performance

Добавлено: 2011-05-30 16:37:28
Роман
Думаю причина низкой скорости у dm07 - отключенное кэширование дисков, т. е. значение sysctl hw.ata.wc=0
p.s. Прошу прощение за воскрешение некроветки, но может мой ответ кому пригодицца.