Тестирование hdd на скорость чтения/записи
Модераторы: Warderer, Модераторы разделов
Тестирование hdd на скорость чтения/записи
Здравствуйте, заранее извинияюсь если подобный вопрос уже обсуждался.
Требуется проверить с какой скоростью считывает и записывает данные hdd, в идеале все бы это по сети, но можно и локально.
машина dell PowerEdge 2950, 3 sata винта аппаратный raid 5
(RAID bus controller: Dell PowerEdge Expandable RAID controller 5)
с помощью каких программ это можно сделать?
PS: Система Debian 4.0 r3 _Ethc_
Требуется проверить с какой скоростью считывает и записывает данные hdd, в идеале все бы это по сети, но можно и локально.
машина dell PowerEdge 2950, 3 sata винта аппаратный raid 5
(RAID bus controller: Dell PowerEdge Expandable RAID controller 5)
с помощью каких программ это можно сделать?
PS: Система Debian 4.0 r3 _Ethc_
Re: Тестирование hdd на скорость чтения/записи
Если чего накопаеш интересного напиши .... а то мой винт вообще чет не пашет нормально
Re: Тестирование hdd на скорость чтения/записи
man dd
хотя ладно, долго курить будешь))
на запись
на чтение
с опциями пожешь поэспериментировать.
хотя ладно, долго курить будешь))
на запись
Код: Выделить всё
dd if=/dev/zero of=/mount/point/of/test/drive/testfile.bin bs=256k count=2048
на чтение
Код: Выделить всё
dd of=/dev/null if=/mount/point/of/test/drive/testfile.bin bs=512k count=1024
с опциями пожешь поэспериментировать.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
Re: Тестирование hdd на скорость чтения/записи
nrm
iometer
bonnie++
iozone
piozone
dbench
filebench
xfbsuite
iometer
bonnie++
iozone
piozone
dbench
filebench
xfbsuite
Re: Тестирование hdd на скорость чтения/записи
SLEDopit писал(а): ↑07.05.2008 16:59на чтение
Код: Выделить всё
dd if=/dev/urandom of=/mount/point/of/test/drive/testfile.bin bs=512k count=1024
Может Вы так хотели написать?
Код: Выделить всё
dd of=/dev/null if=/mount/point/of/test/drive/testfile.bin bs=512k count=1024
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
М. В. Ломоносов
Re: Тестирование hdd на скорость чтения/записи
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
- Portnov
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
- Контактная информация:
Re: Тестирование hdd на скорость чтения/записи
В простейшем случае, банальный hdparm.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Re: Тестирование hdd на скорость чтения/записи
Всем большое спасибо
В общем для себя вывел некий алгоритм
1 определяю имя винчестера:
2 тест hdparm , кстати так и не понял о чем он мне сообщил)
Кстати что за ошибки я так и непонял на форуме есть пару упминаний про них но ответа так и не было - пока я понял что они появляются только у владельцев sata или scsi hdd
3 наиболее удобоваримая, на мой взгляд, утилита dbench - тупо показывает с какой скоростью происходит запись на диск
4 dd не вкурил( в чем трабл? как то не хочется создавать кучу папок и файл чую что дело проще
В общем для себя вывел некий алгоритм
1 определяю имя винчестера:
Код: Выделить всё
# fdisk -l
Disk /dev/cciss/c0d0: 119.9 GB, 119998218240 bytes
255 heads, 63 sectors/track, 14588 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/cciss/c0d0p1 * 1 31 248976 83 Linux
/dev/cciss/c0d0p2 32 14588 116929102+ 5 Extended
/dev/cciss/c0d0p5 32 14588 116929071 8e Linux LVM
2 тест hdparm , кстати так и не понял о чем он мне сообщил)
Код: Выделить всё
# hdparm -tT /dev/cciss/c0d0p1
/dev/cciss/c0d0p1:
Timing cached reads: 4668 MB in 2.00 seconds = 2336.06 MB/sec
HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Inappropriate ioctl for device
Timing buffered disk reads: 106 MB in 3.04 seconds = 34.86 MB/sec
HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Inappropriate ioctl for device
Кстати что за ошибки я так и непонял на форуме есть пару упминаний про них но ответа так и не было - пока я понял что они появляются только у владельцев sata или scsi hdd
3 наиболее удобоваримая, на мой взгляд, утилита dbench - тупо показывает с какой скоростью происходит запись на диск
Код: Выделить всё
# dbench 1
dbench version 3.04 - Copyright Andrew Tridgell 1999-2004
Running for 600 seconds with load '/usr/share/dbench/client.txt' and minimum warmup 120 secs
1 clients started
1 52085 293.98 MB/sec warmup 1 sec
1 106083 292.94 MB/sec warmup 2 sec
1 147459 268.97 MB/sec warmup 3 sec
1 147459 201.76 MB/sec warmup 4 sec
1 147459 161.42 MB/sec warmup 5 sec
1 149533 136.78 MB/sec warmup 6 sec
1 193818 150.74 MB/sec warmup 7 sec
1 234679 159.73 MB/sec warmup 8 sec
1 256859 155.24 MB/sec warmup 9 sec
1 311208 168.58 MB/sec warmup 10 sec
1 365074 179.79 MB/sec warmup 11 sec
1 418799 188.93 MB/sec warmup 12 sec
4 dd не вкурил( в чем трабл? как то не хочется создавать кучу папок и файл чую что дело проще
Код: Выделить всё
# dd of=/dev/null if=/mount/point/of/test/drive/testfile.bin bs=512k count=1024
dd: открытие `/mount/point/of/test/drive/testfile.bin': No such file or directory
-
- Сообщения: 154
- ОС: Debian Lenny/Sid
Re: Тестирование hdd на скорость чтения/записи
nrm писал(а): ↑12.05.2008 23:184 dd не вкурил( в чем трабл? как то не хочется создавать кучу папок и файл чую что дело проще
Код: Выделить всё
# dd of=/dev/null if=/mount/point/of/test/drive/testfile.bin bs=512k count=1024 dd: открытие `/mount/point/of/test/drive/testfile.bin': No such file or directory
ЖЖЕТЕ, сударь!!! Это ж надо было так и написать /mount/point/of/test/drive/ я чуть со стула не упал =)
хоть бы прочли перед копипастом!!! НАПИСАНО же ТОЧКА МОНТИРОВАНИЯ ДИСКА!!! Че не понятного???
Re: Тестирование hdd на скорость чтения/записи
всегда рад порадовать)
Re: Тестирование hdd на скорость чтения/записи
Знаю, что тема бородата, но dd не подходит, т к нули ядро закеширует и получится скорость в гигабайты в секунду, а устройство random может само быть узким местом.
hdparm вообще непонятно откуда берет цифры. Тоже кеширует, судя по всему.
Вот статья преисполненная ЧСВ http://habrahabr.ru/post/154235/ (ушел читать)
hdparm вообще непонятно откуда берет цифры. Тоже кеширует, судя по всему.
Вот статья преисполненная ЧСВ http://habrahabr.ru/post/154235/ (ушел читать)
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Тестирование hdd на скорость чтения/записи
Я когда-то давно ради прикола делал так: создал html-страничку со ссылкой на локальный файл.
Открыл страничку браузером, щелкнул по ссылке, указал куда сохранить, браузер показал скорость скачивания.
Только файл должен быть немаленький - хотя бы несколько сот метров, а лучше гиг-полтора.
Открыл страничку браузером, щелкнул по ссылке, указал куда сохранить, браузер показал скорость скачивания.
Только файл должен быть немаленький - хотя бы несколько сот метров, а лучше гиг-полтора.
- drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
- Контактная информация:
Re: Тестирование hdd на скорость чтения/записи
нет. Пишите прямо в устройство/раздел. В принципе, ext4 и файл не "кеширует", если его писать dd (а вот cp таки выбрасывает нули)
random жутко медленное, но /dev/urandom намного быстрее. В конце концов, для этого есть shred(1) ну и badblocks(1). В обоих встроены годные ГПСЧ, скорость которых заведомо больше любого носителя.
А /dev/random совсем для других целей нужно.
это смотря как сказать. -T ЕМНИП тест кеша, а вот -t просто тест поверхности(линейная скорость). Линейная скорость на пару порядков больше реальной для hdd by design.
желательно не возвращайтесь с идиотскими вопросами, которые у вас возникнут после этого ресурса.
на Руси это называется "переливать из пустого в порожнее".
Re: Тестирование hdd на скорость чтения/записи
Доброго всем дня!
Озадачился сегодня проверкой поверхности жёсткого диска с тем, чтобы в последующем выделить в отдельные bad-партиции то, с чем потом лучше не сталкиваться при работе. Нужно мне создать полную посектровую картину: номер сектора, время чтения, примерно как в whdd/mhdd, но мне нужна не общая статистика, а конкретная. Можно как то это сделать с помощью dd, указав ему физический bs, и заставив выводить информацию о времени чтения каждого блока? Или в какую сторону копнуть посоветуете? Позже изучу ссылки, что здесь приводились
Озадачился сегодня проверкой поверхности жёсткого диска с тем, чтобы в последующем выделить в отдельные bad-партиции то, с чем потом лучше не сталкиваться при работе. Нужно мне создать полную посектровую картину: номер сектора, время чтения, примерно как в whdd/mhdd, но мне нужна не общая статистика, а конкретная. Можно как то это сделать с помощью dd, указав ему физический bs, и заставив выводить информацию о времени чтения каждого блока? Или в какую сторону копнуть посоветуете? Позже изучу ссылки, что здесь приводились
Re: Тестирование hdd на скорость чтения/записи
denel писал(а): ↑28.01.2017 05:06Доброго всем дня!
Озадачился сегодня проверкой поверхности жёсткого диска с тем, чтобы в последующем выделить в отдельные bad-партиции то, с чем потом лучше не сталкиваться при работе. Нужно мне создать полную посектровую картину: номер сектора, время чтения, примерно как в whdd/mhdd, но мне нужна не общая статистика, а конкретная. Можно как то это сделать с помощью dd, указав ему физический bs, и заставив выводить информацию о времени чтения каждого блока? Или в какую сторону копнуть посоветуете? Позже изучу ссылки, что здесь приводились
Если не ошибаюсь вам нужна утилита badblocks
Re: Тестирование hdd на скорость чтения/записи
lone_wolf писал(а): ↑28.01.2017 12:17denel писал(а): ↑28.01.2017 05:06Доброго всем дня!
Озадачился сегодня проверкой поверхности жёсткого диска с тем, чтобы в последующем выделить в отдельные bad-партиции то, с чем потом лучше не сталкиваться при работе. Нужно мне создать полную посектровую картину: номер сектора, время чтения, примерно как в whdd/mhdd, но мне нужна не общая статистика, а конкретная. Можно как то это сделать с помощью dd, указав ему физический bs, и заставив выводить информацию о времени чтения каждого блока? Или в какую сторону копнуть посоветуете? Позже изучу ссылки, что здесь приводились
Если не ошибаюсь вам нужна утилита badblocks
Не совсем то. Мне хотелось бы сразу на перспективу: исключить уже "затёртые" места, ещё не бэды
- Bizdelnick
- Модератор
- Сообщения: 20792
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Тестирование hdd на скорость чтения/записи
denel писал(а): ↑28.01.2017 05:06Озадачился сегодня проверкой поверхности жёсткого диска с тем, чтобы в последующем выделить в отдельные bad-партиции то, с чем потом лучше не сталкиваться при работе. Нужно мне создать полную посектровую картину: номер сектора, время чтения, примерно как в whdd/mhdd, но мне нужна не общая статистика, а конкретная. Можно как то это сделать с помощью dd, указав ему физический bs, и заставив выводить информацию о времени чтения каждого блока?
Не хочу в очередной раз повторять, насколько это бессмысленное занятие. См. например научите помечать трудночитаемые сектора как BADы и Каким аналогом victoria 3.52 вы пользуетесь?.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Тестирование hdd на скорость чтения/записи
denel писал(а): ↑28.01.2017 05:06Доброго всем дня!
Озадачился сегодня проверкой поверхности жёсткого диска с тем, чтобы в последующем выделить в отдельные bad-партиции то, с чем потом лучше не сталкиваться при работе. Нужно мне создать полную посектровую картину: номер сектора, время чтения, примерно как в whdd/mhdd, но мне нужна не общая статистика, а конкретная. Можно как то это сделать с помощью dd, указав ему физический bs, и заставив выводить информацию о времени чтения каждого блока? Или в какую сторону копнуть посоветуете? Позже изучу ссылки, что здесь приводились
Успокойтесь! Нынешние диски сами заботятся о своём здоровье, замещают ломаные треки и прочее. Насколько эффективно они это делают - вопрос, но информацией о реальном положении дел они всё равно не делятся. Но если сбойные блоки стали видимыми - дело плохо: резерв уже исчерпан, и привод пора менять.
Re: Тестирование hdd на скорость чтения/записи
s.xbatob писал(а): ↑28.01.2017 15:18denel писал(а): ↑28.01.2017 05:06Доброго всем дня!
Озадачился сегодня проверкой поверхности жёсткого диска с тем, чтобы в последующем выделить в отдельные bad-партиции то, с чем потом лучше не сталкиваться при работе. Нужно мне создать полную посектровую картину: номер сектора, время чтения, примерно как в whdd/mhdd, но мне нужна не общая статистика, а конкретная. Можно как то это сделать с помощью dd, указав ему физический bs, и заставив выводить информацию о времени чтения каждого блока? Или в какую сторону копнуть посоветуете? Позже изучу ссылки, что здесь приводились
Успокойтесь! Нынешние диски сами заботятся о своём здоровье, замещают ломаные треки и прочее. Насколько эффективно они это делают - вопрос, но информацией о реальном положении дел они всё равно не делятся. Но если сбойные блоки стали видимыми - дело плохо: резерв уже исчерпан, и привод пора менять.
Ну вот сейчас сканирую bash скриптом. На одном диске нет перераспределённых по SMART, но некоторые секторы читаются 4-6 сек! (512байт). На другом всего 2 перераспределённых и несколько так же трудночитаемых 3-4 сек. Так можно работать Вы считаете? У меня так DM raid рассыпается... Иными словами, не весь софт готов ждать столько времени чтения 512 байт с локального жёсткого диска
- Bizdelnick
- Модератор
- Сообщения: 20792
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Тестирование hdd на скорость чтения/записи
Нет. Сколько винтам лет? Сдавайте по гарантии или выкидывайте.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Тестирование hdd на скорость чтения/записи
Воспользовался утилитой hdrecover: после неё на удивление все секторы стали нормально читаемы!
Re: Тестирование hdd на скорость чтения/записи
Вы точно не путаете физические сектора на диске с блоками файловой системы?
Разницу между бэдблоками физическими и логическими понимаете/учитываете?
Re: Тестирование hdd на скорость чтения/записи
С блоками ФС я точно не мог путать, так как сначала я сделал dd if=/dev/zero of=/dev/sda, т.е. о ФС и её блоках речи идти точно не может. А узнавал читаемость скторов так: time dd if=/dev/sda of=/dev/zero bs=512 count=1 skip=...
Есть ещё сомнения? Или может я что неправильно делал? Размер физ сектора точно 512
Re: Тестирование hdd на скорость чтения/записи
denel писал(а): ↑31.01.2017 19:56
С блоками ФС я точно не мог путать, так как сначала я сделал dd if=/dev/zero of=/dev/sda, т.е. о ФС и её блоках речи идти точно не может.
Это логично
А это весьма странный способ измерять время доступа к сектору на поверхности диска.
Конструкция с time измеряет совсем не это.
См man time:
Программа time запускает указанную команду с заданными аргументами. Когда команда завершается, time выдаёт в стандартный вывод сообщений об ошибках
статистическое сообщение об использованном времени при этом запуске. Эта статистика содержит (1) прошедшее реальное время между вызовом и завершением, (2)
процессорное время работы в пользовательском пространстве (сумма значений tms_utime и tms_cutime из структуры struct tms, возвращаемой times(2)) и (3)
процессорное время работы в системном пространстве (сумма значений tms_stime и tms_cstime из структуры struct tms, возвращаемой times(2)).
Замечание: некоторые командный интерпретаторы (например, bash(1)) имеют встроенную команду time, которая имеет меньше возможностей, чем команда, описанная здесь.
Для работы с настоящей командой вам может потребоваться вызывать её по абсолютному имени (например, /usr/bin/time).
Вы представляете каких и сколько прослоек между вызовом time из интерпретатора и физическим чтением секторов диска?
Для корректного измерения именно времени доступа к диску существуют специально обученные программы.
См. MHDD, например.
Размер зависит от модели HDD.
Бывает и 4096 байт (4 КиБ)