LINUX.ORG.RU

Странности со скоростью дисков

 


0

2

Столкнулся с такой проблемой, что диски показывают нестабильную скорость.
Есть 4 диска HTS721010A9E630. Запускаю:
dd if=/dev/zero of=/dev/sdX bs=1M count=1024 conv=fsync

и получаю такие результаты:
sdb - 1073741824 bytes (1.1 GB) copied, 10.2248 s, 105 MB/s
sdc - 1073741824 bytes (1.1 GB) copied, 9.42823 s, 114 MB/s
sdd - 1073741824 bytes (1.1 GB) copied, 10.1775 s, 106 MB/s

Не сильно много, но терпимо. Буквально сразу еще один прогон:

1073741824 bytes (1.1 GB) copied, 9.41042 s, 114 MB/s
1073741824 bytes (1.1 GB) copied, 9.56769 s, 112 MB/s
1073741824 bytes (1.1 GB) copied, 36.3947 s, 29.5 MB/s

29.5МБ/с! Это как так-то? И еще прогон:

1073741824 bytes (1.1 GB) copied, 9.03271 s, 119 MB/s
1073741824 bytes (1.1 GB) copied, 9.55104 s, 112 MB/s
1073741824 bytes (1.1 GB) copied, 12.1336 s, 88.5 MB/s

Разные ядра, разные версии систем(Дебин, Убунту, СентОС) показывают одинаковые результаты. Если систему оставить на день-другой, то скорость на дисках со ~110МБ/с падает до 50-60МБ/с. Грешил на RAID-контроллер, но подключение дисков напрямую к материнской плате даёт такие же результаты. Более того, на другом компьютере всё то же самое.

Еще странность - /dev/sdd, какой бы диск не был подключен, будет самым медленным. hdparm -B254 на скорость не влияет. Температура дисков от 21 до 29 градусов, и на скорость не влияет. Если подключить каждый диск по USB, то скорость будет порядка 135МБ/с.

В какую сторону копать?

★★★★★

какой бы диск не был подключен

Надо писать «ни был», безграмотина.

со ~110МБ/с падает до 50-60МБ/с

В пределах нормы

Если подключить каждый диск по USB, то скорость будет порядка 135МБ/с.

3.0 чтоли?

какой-то sdd очень уж подозрительный, в смарт надо бы глянуть. Хотя лучше всем глянуть в смарт и смарт-тесты прогнать.

Ну и раз по уэсбэ они все работаю отлично, а через матплату тормозят — значит хреновая матплата, разъёмы, провода или контроллер sata там.

/dev/sdd, какой бы диск не был подключен, будет самым медленным.

Глюк контроллера или кривой разъём или кривой кабель или магнитные наводки или трещина в матплате.

Goury ★★★★★ ()
Последнее исправление: Goury (всего исправлений: 1)
Ответ на: комментарий от Goury

Надо писать «ни был», безграмотина.

Ссылочку на правило можно?

В пределах нормы

25МБ/с тоже в пределах нормы?

какой-то sdd очень уж подозрительный

Я где-то писал про SSD?

Ну и раз по уэсбэ они все работаю отлично, а через матплату тормозят — значит хреновая матплата, разъёмы, провода или контроллер sata там.

На 4-х разных компьютерах?

Глюк контроллера или кривой разъём или кривой кабель или магнитные наводки или трещина в матплате.

На 4-х разных компьютерах?

Mr_Alone ★★★★★ ()

А если подключить любой пятый диск, переймет ли он эстафету тормознутости? А если не подключать четвертый, третий будет тормозить как тормозил четвертый?

anonymous ()
Ответ на: комментарий от Mr_Alone

Ссылочку на правило можно?

Первая же ссылка в гугле: http://www.gramma.ru/RUS/?id=4.58

Я где-то писал про SSD?

А он написал sdd

По теме - для начала прошей последние прошивки и смотри атрибуты SMART у дисков. Прогони смарттест.

Deleted ()

29.5МБ/с! Это как так-то?

Твои диски могут быть по-разному настроены. Баланс между шумом и быстродействием. Настраивается специальной фирменной утилитой.

Грешил на RAID-контроллер,

Мсье извращенец собирать raid из travel star.

Более того, на другом компьютере всё то же самое.

Компьютер небось такой же?

Еще странность - /dev/sdd, какой бы диск не был подключен, будет самым медленным

А что если три диска оставить? Может это особенность работы hdparm. Протестируй другими средствами.

andrew667 ★★★★★ ()
Ответ на: комментарий от Deleted

Первая же ссылка в гугле: http://www.gramma.ru/RUS/?id=4.58

И под какое же правило попадает «куда бы не был подключен»?

По теме - для начала прошей последние прошивки и смотри атрибуты SMART у дисков. Прогони смарттест.

Диски абсолютно одинаковые, и все параметры у них тоже, так как только распаковал их. Смарттест сейчас прогнал на самом медленном, всё ОК. Разницы в hdparm -I /dev/sdX между дисками никакой, только серийники разные. Прошивка судя по всему последняя, JB0OA3J0.

Mr_Alone ★★★★★ ()
Последнее исправление: Mr_Alone (всего исправлений: 1)
Ответ на: комментарий от andrew667

Твои диски могут быть по-разному настроены. Баланс между шумом и быстродействием. Настраивается специальной фирменной утилитой.

Последняя фирменная утилита Feature Tool 2.15 не поддерживает эти диски. Нашел 2.17бета2 но там только APM можно включить/выключить, вообще разницы нет.

Мсье извращенец собирать raid из travel star.

Я из них RAID не собираю, диски по отдельности, для файло-помойки. Контроллер встроен.

Компьютер небось такой же?

Абсолютно другой. Собственно есть три FS RX200 S6, и один самосбор древний на Intel S5000VSA. Везде ситуация одинаковая.

А что если три диска оставить? Может это особенность работы hdparm. Протестируй другими средствами.

Начальный тест:
sdb - 108 MB/s
sdc - 73.9 MB/s
sdd - 56.0 MB/s
sde - 136 MB/s

Поменял sdb/sde местами
sdb - 105 MB/s
sdc - 82.9 MB/s
sdd - 33.3 MB/s
sde - 119 MB/s


sdb - 103 MB/s
sdc - 62.2 MB/s
sdd - отключен
sde - 143 MB/s

Только два диска
sdb - 107 MB/s
sdc - 98 MB/s

sdb - 103 MB/s
sdc - 99 MB/s
sdd - 52 MB/s
sde - отключен

Mr_Alone ★★★★★ ()
Ответ на: комментарий от Mr_Alone

Есть ли разница в поведении дисков между самосбором и fujitsu? Большевата скорость для таких винтов. Думаю, что на fujitsu собака зарыта в кэше raid-контроллера. Ты пишешь на sdc, но сама запись на веник еще не произошла. Часть информации передалась в кэш raid. Потом начинается запись на следующий веник sdd, но на предыдущий данные все еще данные льются из кэша.

andrew667 ★★★★★ ()
Ответ на: комментарий от andrew667

Есть ли разница в поведении дисков между самосбором и fujitsu?

Нет, ни какой разницы не вижу.

Большевата скорость для таких винтов

Нет, нормальная. Если смотреть сторонние тесты, то 100-110МБ/с даже маловато. При этом подключаю любой из этих дисков к ноуту по USB, и получаю стабильные ~135МБ/с.

Думаю, что на fujitsu собака зарыта в кэше raid-контроллера. Ты пишешь на sdc, но сама запись на веник еще не произошла. Часть информации передалась в кэш raid. Потом начинается запись на следующий веник sdd, но на предыдущий данные все еще данные льются из кэша.

Все кэши на RAID отключены. Более того, если диски подключить на материнку(правда там всего 4 диски тогда останется), скорость не меняется. Ну и использую conv=fsync

Mr_Alone ★★★★★ ()
Ответ на: комментарий от Mr_Alone

Еще странность - /dev/sdd, какой бы диск не был подключен, будет самым медленным.

Одноименные частицы не и ни различаются по значению: не — отрицательная, ни — усилительная. Поэтому в придаточных уступительных частях предложений для усиления утвердительного смысла употребляется частица ни: И во всю ночь безумец бедный, куда стопы ни обращал, за ним повсюду Всадник Медный с тяжелым топотом скакал (П.), а в независимых восклицательных и вопросительных предложениях (при наличии или возможности подстановки усилительных частиц только, уж) пишется отрицательная частица не: Куда он только не обращался! (частица только усиливает последующее отрицание).

handbrake ★★★ ()
Последнее исправление: handbrake (всего исправлений: 1)
Ответ на: комментарий от Mr_Alone

ЛОР - филиал грамота.ру на техресурсе. :-)

Нет, просто слух/глаз режет. Правила эти никто не и помнит уже, но чувство языка должно же быть.

handbrake ★★★ ()
Ответ на: комментарий от proud_anon

Два чая этому господину.
исправлений: 4

окуеть!
вот до чего гордость и регистрация доводит ,)

anonymous ()
Ответ на: комментарий от anonymous

почему? у меня на 5400rpm 146% Мб/c в начале

Свои 5 мегабайт в начале диска у себя оставь. Еще скажи, с какой скоростью эти 5 мегабайт в кэш винта помещаются.

andrew667 ★★★★★ ()
Ответ на: комментарий от anonymous

dd if=/dev/zero of=/dev/sdb bs=1M count=1024 conv=fsync
1073741824 bytes (1.1 GB) copied, 9.86661 s, 109 MB/s

dd if=/dev/zero of=/dev/sdd bs=1M count=1024 oflag=direct
1073741824 bytes (1.1 GB) copied, 8.2366 s, 130 MB/s

Хух!

И тут же conv=fsync + oflag=direct:
c02.sdb
1073741824 bytes (1.1 GB) copied, 16.9299 s, 63.4 MB/s
c02.sdc
1073741824 bytes (1.1 GB) copied, 21.1569 s, 50.8 MB/s
c02.sdd
1073741824 bytes (1.1 GB) copied, 9.93107 s, 108 MB/s

Хотя sdd и sdb я поменял местами со вчерашнего теста.

Mr_Alone ★★★★★ ()
Ответ на: комментарий от anonymous

Что если попробовать вырубить NCQ? (echo 1 > /sys/block/sdX/device/queue_depth)

Тогда вообще жесть - скорость 25-29МБ/с.
Но! Остаётся упоротый диск sdd! Вчера он был медленным, а сегодня он поменялся местами с другим(поменял не глядя на sdX).

c02.sdb
1073741824 bytes (1.1 GB) copied, 42.4876 s, 25.3 MB/s
c02.sdc
1073741824 bytes (1.1 GB) copied, 49.9766 s, 21.5 MB/s
c02.sdd
1073741824 bytes (1.1 GB) copied, 10.0149 s, 107 MB/s

Mr_Alone ★★★★★ ()
Последнее исправление: Mr_Alone (всего исправлений: 1)
Ответ на: комментарий от andrew667

какие 5 мегабайт, причём тут кэш? у вас там всё нормально?

$ dd if=/dev/sda2 of=/dev/null bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1,0 GB) copied, 7,01946 s, 149 MB/s

anonymous ()
Ответ на: комментарий от Mr_Alone

И под какое же правило попадает «куда бы не был подключен»?

В поиск на той странице «куда бы ни».

Прошивка судя по всему последняя, JB0OA3J0.

Биос на материнку же!

Deleted ()
Ответ на: комментарий от Deleted

Биос на материнку же!

Везде последняя, даже не самосборе. При этом от компьютера скорость не зависит. Единственное, что не пробовал, под Windows запустить.

Mr_Alone ★★★★★ ()

cd /sys/block && diff sdb sdd

Common subdirectories: sdb/bdi and sdd/bdi
diff sdb/dev sdd/dev
1c1
< 8:16
---

8:48

Common subdirectories: sdb/device and sdd/device
Common subdirectories: sdb/holders and sdd/holders
Common subdirectories: sdb/power and sdd/power
Common subdirectories: sdb/queue and sdd/queue
Common subdirectories: sdb/slaves and sdd/slaves
diff sdb/stat sdd/stat
1c1
< 667 0 5336 560 22982 517690 12582912 4510872 0 111508 4511408
---

916 0 7328 6112 35831 517063 18874368 4638032 0 91216 4644124

Common subdirectories: sdb/trace and sdd/trace
diff sdb/uevent sdd/uevent
2,3c2,3
< MINOR=16
< DEVNAME=sdb
---

MINOR=48
DEVNAME=sdd

Mr_Alone ★★★★★ ()
Ответ на: комментарий от anonymous

какие 5 мегабайт, причём тут кэш?

данные туда передаются, а не сразу на поверхность диска.

P.S. Могу дать совет, как улучшить скорость твоего веника на 5400rpm по тестам в разы (вплоть до 600 мегабайт в секунду). Веник можно даже на 4200 брать.

andrew667 ★★★★★ ()
Ответ на: комментарий от Mr_Alone

И тут же conv=fsync + oflag=direct:

а чего тебе тут непонятно?

$ man dd
...
       fsync  likewise, but also write metadata
...
запись метаданных — это уже рандомная запись, а до этого ты замерял последовательную
в итоге ты теперь меряешь непонятно что

anonymous ()
Ответ на: комментарий от anonymous

а как тогда ъ последовательное чтение мерить?

речь шла о записи

anonymous ()
Ответ на: комментарий от handbrake

Правила эти никто не и помнит уже

А ты прав, безграмотность языка режет слух/глаз.

ТС, какая мамка у тебя установлена?

peregrine ★★★★★ ()
Ответ на: комментарий от peregrine

местами попутал, каюсь - дык скорость набора 400 символов/мин, но такая чушь получается... :)
по теме - ТС, другие диски попробуй.

handbrake ★★★ ()
Ответ на: комментарий от Mr_Alone

Друг, эти винты больше 80 МБ/С не дают в среднем по больнице. Они ж 5400 rpm, там физическая скорость линейного чтения/записи на пластину такая. А рандомное чтение - максимум 1,5 Мб/с. Не парься, ты меряешь запись, а лучше померяй чтение с разных файлов, чтобы исключить кэши. Я тебе серьезно говорю, у самого пачка таких лежит.

anonymous ()
Ответ на: комментарий от Mr_Alone

Нет, модельки попутал. Ну тогда 120 Мб/с они вряд ли выжмут по всей поверхности. Т.е. имеет значение - начало или конец диска. Даже не так, скорее всего, в конце скорость падает до 90-100 Мб/с. А, еще про USB-подключение: buffers слышал? Это про USB. Ну, т.е. dirty background ни о чем не говорит? (sysctl -a | grep dirty). Так что можешь не переживать за свои винты... Seriously, меряешь не правильно - маловастенький файл на запись (раз), два - проще замерить сначала чтением (разобраться что там не так), три - в Linux для более-менее приемлемого результата должна пройти запись объема данных, значительно превышающего объем RAM. Ну и кеш на запись самого диска вообще включен? )). Косвенно можешь померить так:

[root@localhost woolf]# hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 10710 MB in 2.00 seconds = 5359.78 MB/sec
Timing buffered disk reads: 294 MB in 3.00 seconds = 97.98 MB/sec

anonymous ()
Ответ на: комментарий от anonymous

Ну тогда 120 Мб/с они вряд ли выжмут по всей поверхности.

Ну вот подключил к машине с Win XP и скорость от 145-150МБ/с в начале, до ~80МБ/с в конце диска. 20-30МБ/с - это уже ненормально. Тем более если записать не 1ГБ, а 10ГБ - результат всё равно будет 20-30МБ/с.

Mr_Alone ★★★★★ ()
Ответ на: комментарий от Mr_Alone

эээ? hdpam -tT покажи все же. 145-150 много, но возможно, если сектор большой. 20-30 мегабайт больше похоже на 12309. sysctl -a | grep dirty покажи - может имеет смысл сменить значения.

anonymous ()
Ответ на: комментарий от anonymous

hdparm -Tt /dev/sdb
/dev/sdb:
Timing cached reads: 15244 MB in 2.00 seconds = 7627.76 MB/sec
Timing buffered disk reads: 402 MB in 3.01 seconds = 133.69 MB/sec

sysctl -a | grep dirty:
vm.dirty_background_ratio = 10
vm.dirty_background_bytes = 0
vm.dirty_ratio = 20
vm.dirty_bytes = 0
vm.dirty_writeback_centisecs = 500
vm.dirty_expire_centisecs = 3000

Mr_Alone ★★★★★ ()
Ответ на: комментарий от Mr_Alone

Timing buffered disk reads: 402 MB in 3.01 seconds = 133.69 MB/sec - вот она нормальная скорость чтения с пластины в начале диска где-то (вроде как). Собственно, остальное от лукавого. Оперативки у тебя (подозреваю) не мало?

vm.dirty_ratio = 5 vm.dirty_background_ratio = 1

Попробуй это проставить. Производительность ядра может вырасти, если показания изменятся - оно. Следующим этапом будет выяснение планировщика и включено ли NCQ. Покажи вывод hdparm -W

anonymous ()
Ответ на: комментарий от anonymous

vm.dirty_ratio = 5 vm.dirty_background_ratio = 1

На скорость вообще не повлияло. Да и как тогда объяснить ситуацию, при корой сегодня одна скорость, а завтра - другая?

Еще из приколов - подключил к Win XP, прогнал всякие HD Tune и Crystal Mark, потом снова вернул в систему с Линукс, и скорость выросла! Если раньше некоторые диски показывали 60-70МБ/с, то теперь все стабильно больше сотни, в районе 110-120МБ/с. Бред какой-то.

Mr_Alone ★★★★★ ()
Ответ на: комментарий от Mr_Alone

Не повлияло вообще - значит, собака зарылась не в кешах. У меня это помогло при копировании с раздела на раздел бооольшиих файлов. Значит, нужно посмотреть параметры винта в линухе. Look-ahead к примеру включен?

hdparm -W покажи. ВОзможно, что играет роль кеш на запись.

anonymous ()

Если кому интересно будет, то была проведена куча тестов, и оказалось, что проблема в дисках. Обычные 2.5" диски не будут работать нормально в серверах. Пробовали разные диски, сервера, долго переписывались с производителями, и в итоге оказалось, что на обычных 2.5" дисках стоят другие прошивки/контроллеры, которые понижают скорость в зависимости от разных факторов.

Mr_Alone ★★★★★ ()
Ответ на: комментарий от Mr_Alone

Если кому интересно будет, то была проведена куча тестов, и оказалось, что проблема в дисках. Обычные 2.5" диски не будут работать нормально в серверах.

Так вот оно че, Михалыч. Большие редиски в общем.

andrew667 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.