The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Настройка SSD винчестера"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Файловые системы, диски / Linux)
Изначальное сообщение [ Отслеживать ]

"Настройка SSD винчестера"  +/
Сообщение от aba email(??) on 07-Июн-12, 17:37 
Принесли на тест SSD винчестер OCZ Agility 3.
В параметрах указана скорость чтения 500-550 МБ/с.
Подключил, поставил свежую Fedora 17 и решил проверить скорость.

# hdparm -t /dev/sdb

/dev/sdb:
Timing buffered disk reads: 624 MB in  3.01 seconds = 207.53 MB/sec

Подскажите, с чем может бить связано, что скорость в два с половиной раза меньше заявленой?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Настройка SSD винчестера"  +/
Сообщение от sdog (ok) on 07-Июн-12, 23:29 
> Подскажите, с чем может бить связано, что скорость в два с половиной
> раза меньше заявленой?

с отделом маркетинга?

а если попробовать dd с большим блоком, порядка мегабайт, сколько выдаёт?
только пишите объём в 3-4 размера оперативки.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Настройка SSD винчестера"  +/
Сообщение от aurved on 08-Июн-12, 02:23 
да, еще надо подключать SSD в порты SATA-III, которые 6 Гбит/с выдают

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Настройка SSD винчестера"  +/
Сообщение от aba email(??) on 08-Июн-12, 11:18 
Винчестер подключен в SATAIII. На мамке и в биосе пишет 6Гб/с. Я первим делом на САТА2 грешил, и даже кабеля поменял, теперь на них тоже пишет 6Гб/с. (У меня есть подозрение что работает в режиме САТА2)

Тест с помощью команды dd.

Создаем тестовый файл.

dd if=/dev/urandom of=/var/sdb/file20g bs=1048576 count=20480
скопійовано 21474836480 байтів (21 GB), 1234,24 с, 17,4 MB/s

Даже не знаю как прокоментировать скорость записи. Задержками в /dev/urandom?

# dd if=/dev/urandom of=/var/sdb/file1g1m bs=1048576 count=1024
скопійовано 1073741824 байти (1,1 GB), 61,5922 с, 17,4 MB/s
# dd if=/dev/urandom of=/var/sdb/file1g1k bs=1024 count=1048576
скопійовано 1073741824 байти (1,1 GB), 63,8348 с, 16,8 MB/s

размер блока получается не влияет.....
места свободного еще много (читал ето влияет на скорость записи)
/dev/sdb1      117049960 26059460  85129536  24% /var/sdb

Перегружаемся, для чистоты експеримента и тест на чтение

dd if=/var/sdb/file20g of=/dev/null bs=1048576 count=20480
скопійовано 21474836480 байтів (21 GB), 115,4 с, 186 MB/s

dd if=/var/sdb/file20g of=/dev/null bs=1024 count=20971520
скопійовано 21474836480 байтів (21 GB), 113,281 с, 190 MB/s

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Настройка SSD винчестера"  +/
Сообщение от Аноним (??) on 08-Июн-12, 13:04 
во первых: пиши на сырое устройство (/dev/sdb или что там у тебя).
во вторых: пиши из /dev/zero, а не из рандома.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Настройка SSD винчестера"  +/
Сообщение от aba email(??) on 08-Июн-12, 18:10 
Обновил БИОС мамки.
Последующие тесты (через hdparm) не показали изменений. Были наоборот ухудшения, связаные с неоптимальными настройками биос. Скорость колебалась от 180 до 202 МБ/с.

Вспомнил что есть еще второй винт. Таже марка, тотже firware 2.15, но ебемом побольше. Первый был 120Г а второй 240Г. Втыкаю второй - глаза на лоб. Скорость 404 МБ/с.
Значит винт барахлит? Для гарантии опять втыкаю 120-ку и ... скорость уже 367 МБ/с

hdparm -t /dev/sdb
Timing buffered disk reads: 1114 MB in  3.00 seconds = 370.77 MB/sec

в догонку еще пару команд для проверки скорости

смотрим скорость записи
dd if=/dev/zero of=/dev/sdb bs=1000000 count=10000
скопійовано 10000000000 байтів (10 GB), 24,6009 с, 406 MB/s

а теперь скорость чтения
dd if=/dev/sdb of=/dev/null bs=1000000 count=10000
скопійовано 10000000000 байтів (10 GB), 25,86 с, 387 MB/s

как он "вылечился" непонимаю. Может кто обяснит? Подозреваю что связано с тем что винт использовался без функции TRIM и не происходила подготовка ячеек.

и еще парочка команд для "закрепления" успеха. Но результат ....

пишем нули в первый гигабайт - быстро
# dd if=/dev/zero of=/dev/sdb bs=1000000 count=1000
скопійовано 1000000000 байтів (1,0 GB), 2,38713 с, 419 MB/s

читаем эти же нули - быстро
# dd if=/dev/sdb of=/dev/null bs=1000000 count=1000
скопійовано 1000000000 байтів (1,0 GB), 2,42252 с, 413 MB/s

пишем что-то отличное от нулей в первый гигабайт - очень медленно (считаем что связано с /dev/urandom)
# dd if=/dev/urandom of=/dev/sdb bs=1000000 count=1000
скопійовано 1000000000 байтів (1,0 GB), 55,7729 с, 17,9 MB/s

теперь читаем это что-то
# dd if=/dev/sdb of=/dev/null bs=1000000 count=1000
скопійовано 1000000000 байтів (1,0 GB), 5,20123 с, 192 MB/s
А скорость то теперь не та..... Нули я читаю быстро=400МБ/с, а дание=192МБ/с.....

Первый гигабай содержит дание, а второй гигабайт у нас заполнен нулями. и если читать теперь два гигабайта
# dd if=/dev/sdb of=/dev/null bs=1000000 count=2000
скопійовано 2000000000 байтів (2,0 GB), 7,81649 с, 256 MB/s
то получаем что-то среднее

ну или можна сразу прочесть второй гигабай (с нулями)
# dd if=/dev/sdb of=/dev/null bs=1000000 count=1000 skip=1000
скопійовано 1000000000 байтів (1,0 GB), 2,68008 с, 373 MB/s

Уважаемые гуру! Интересно услышать Ваши мнения. Так и должно быть? Или я что-то недопонимаю.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Настройка SSD винчестера"  +/
Сообщение от Аноним (??) on 08-Июн-12, 18:23 
для начала нужно понять, что random работает медленно и при записи у тебя все упирается в одно ядро процессора.

скорость у тебя выросла, потому что ты стал тестить нормально, как я и говорил, не через фс, а напрямую обращаясь к устройству.

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

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Настройка SSD винчестера"  +/
Сообщение от aba email(??) on 08-Июн-12, 19:38 
Я согласен "интересно и забавно"....

reboot - для "профилактики"

тест 1

первый блок (гигабай) забиваем нулями
# dd if=/dev/zero of=/dev/sdb bs=1000000 count=1000
скопійовано 1000000000 байтів (1,0 GB), 2,37326 с, 421 MB/s

второй гиг рандомом (не смотрим на скорость записи)
# dd if=/dev/urandom of=/dev/sdb bs=1000000 count=1000 seek=1000
скопійовано 1000000000 байтів (1,0 GB), 55,8409 с, 17,9 MB/s

читаем первий блок с нулями
# dd if=/dev/sdb of=/dev/null bs=1000000 count=1000
скопійовано 1000000000 байтів (1,0 GB), 2,48221 с, 403 MB/s

читаем второй блок с даними
# dd if=/dev/sdb of=/dev/null bs=1000000 count=1000 skip=1000
скопійовано 1000000000 байтів (1,0 GB), 5,20914 с, 192 MB/s

проверям скорост hdparm (я так понимаю она читает первий гиг, ну и чуть-чуть второго)
# hdparm -t /dev/sdb
Timing buffered disk reads: 1066 MB in  3.01 seconds = 354.40 MB/sec

тест 2

теперь наоборот: второй блок нулями, а первий блок рандомом
# dd if=/dev/zero of=/dev/sdb bs=1000000 count=1000 seek=1000
скопійовано 1000000000 байтів (1,0 GB), 2,38025 с, 420 MB/s
# dd if=/dev/urandom of=/dev/sdb bs=1000000 count=1000
скопійовано 1000000000 байтів (1,0 GB), 53,8513 с, 18,6 MB/s

читаем первый блок с даними
# dd if=/dev/sdb of=/dev/null bs=1000000 count=1000
скопійовано 1000000000 байтів (1,0 GB), 5,22149 с, 192 MB/s

читаем второй блок с нулями
# dd if=/dev/sdb of=/dev/null bs=1000000 count=1000 skip=1000
скопійовано 1000000000 байтів (1,0 GB), 2,46108 с, 406 MB/s

ну и hdparm
# hdparm -t /dev/sdb
Timing buffered disk reads: 552 MB in  3.00 seconds = 183.70 MB/sec

теперь повторно тест 1 и снова тест 2

тест 1 - без коментариев. результат тот-же
# dd if=/dev/zero of=/dev/sdb bs=1000000 count=1000
скопійовано 1000000000 байтів (1,0 GB), 2,34521 с, 426 MB/s
# dd if=/dev/urandom of=/dev/sdb bs=1000000 count=1000 seek=1000
скопійовано 1000000000 байтів (1,0 GB), 55,8362 с, 17,9 MB/s
# dd if=/dev/sdb of=/dev/null bs=1000000 count=1000
скопійовано 1000000000 байтів (1,0 GB), 2,46851 с, 405 MB/s
# dd if=/dev/sdb of=/dev/null bs=1000000 count=1000 skip=1000
скопійовано 1000000000 байтів (1,0 GB), 5,23399 с, 191 MB/s
# hdparm -t /dev/sdb
Timing buffered disk reads: 1066 MB in  3.01 seconds = 354.16 MB/sec

тест 2 - аналогично
# dd if=/dev/zero of=/dev/sdb bs=1000000 count=1000 seek=1000
скопійовано 1000000000 байтів (1,0 GB), 2,38057 с, 420 MB/s
# dd if=/dev/urandom of=/dev/sdb bs=1000000 count=1000
скопійовано 1000000000 байтів (1,0 GB), 55,7857 с, 17,9 MB/s
# dd if=/dev/sdb of=/dev/null bs=1000000 count=1000
скопійовано 1000000000 байтів (1,0 GB), 5,21615 с, 192 MB/s
# dd if=/dev/sdb of=/dev/null bs=1000000 count=1000 skip=1000
скопійовано 1000000000 байтів (1,0 GB), 2,46573 с, 406 MB/s
# hdparm -t /dev/sdb
Timing buffered disk reads: 552 MB in  3.00 seconds = 183.97 MB/sec

ну и как последний гвоздь, произведем чтение двух блоков. Скорость должна бить где-то посредине между 200 и 400 = 300 МБ/с. Проверяем....
сейчас (после теста 2) первий гиг с даними второй с нулями
# dd if=/dev/sdb of=/dev/null bs=1000000 count=2000
скопійовано 2000000000 байтів (2,0 GB), 7,69297 с, 260 MB/s

а теперь наоборот первий блок нули а второй рандом...
# dd if=/dev/zero of=/dev/sdb bs=1000000 count=1000
# dd if=/dev/urandom of=/dev/sdb bs=1000000 count=1000 seek=1000
и проверяем
dd if=/dev/sdb of=/dev/null bs=1000000 count=2000
скопійовано 2000000000 байтів (2,0 GB), 7,69142 с, 260 MB/s

Как мне кажется доказательств больше не надо.
Теперь надо разумное обяснение происшедшего.
Из мислей в догонку, только - архивирование? (но куда и зачем?)
Я винчестер покупаю что-бы хранить/читать даные а не нули....
хотя возможно это специфика работы SSD...
но что-то не читал о таком. (может мало читал)

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. "Настройка SSD винчестера"  +/
Сообщение от Аноним (??) on 09-Июн-12, 06:19 
да, заставили задуматься, но "1", ниже, дал ответ этому поведению. думаю сейчас уместно будет сказать: оууу :)
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

8. "Настройка SSD винчестера"  +/
Сообщение от 1 (??) on 08-Июн-12, 19:47 
контроллер SandForce почитай http://it-hack.ru/?p=2427
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

10. "Настройка SSD винчестера"  +/
Сообщение от aba (??) on 10-Июн-12, 15:39 
Значит все-таки мало читал.....
Познавательная статейка.
Спасибо всем.
Считаю тему закрытой.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру