Тестирование hdd на скорость чтения/записи

Knoppix

Модераторы: Warderer, Модераторы разделов

Ответить
nrm
Сообщения: 5
ОС: WinXP, Debian 4.0, CentOS 5

Тестирование hdd на скорость чтения/записи

Сообщение nrm »

Здравствуйте, заранее извинияюсь если подобный вопрос уже обсуждался.

Требуется проверить с какой скоростью считывает и записывает данные hdd, в идеале все бы это по сети, но можно и локально.

машина dell PowerEdge 2950, 3 sata винта аппаратный raid 5
(RAID bus controller: Dell PowerEdge Expandable RAID controller 5)

с помощью каких программ это можно сделать?

PS: Система Debian 4.0 r3 _Ethc_
Спасибо сказали:
Tritus
Сообщения: 27

Re: Тестирование hdd на скорость чтения/записи

Сообщение Tritus »

Если чего накопаеш интересного напиши .... а то мой винт вообще чет не пашет нормально
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Тестирование hdd на скорость чтения/записи

Сообщение SLEDopit »

man dd :D
хотя ладно, долго курить будешь))
на запись

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

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.
Спасибо сказали:
Аватара пользователя
RNZ
Сообщения: 10
ОС: Gentoo

Re: Тестирование hdd на скорость чтения/записи

Сообщение RNZ »

nrm
iometer
bonnie++

iozone
piozone

dbench
filebench

xfbsuite
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: Тестирование hdd на скорость чтения/записи

Сообщение Voice »

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
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Тестирование hdd на скорость чтения/записи

Сообщение SLEDopit »

Voice писал(а):
07.05.2008 18:04
Может Вы так хотели написать?
ага, просто задумался не о том))
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.
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable
Контактная информация:

Re: Тестирование hdd на скорость чтения/записи

Сообщение Portnov »

В простейшем случае, банальный hdparm.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
nrm
Сообщения: 5
ОС: WinXP, Debian 4.0, CentOS 5

Re: Тестирование hdd на скорость чтения/записи

Сообщение nrm »

Всем большое спасибо
В общем для себя вывел некий алгоритм
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
Спасибо сказали:
alternativshik
Сообщения: 154
ОС: Debian Lenny/Sid

Re: Тестирование hdd на скорость чтения/записи

Сообщение alternativshik »

nrm писал(а):
12.05.2008 23:18
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

ЖЖЕТЕ, сударь!!! Это ж надо было так и написать /mount/point/of/test/drive/ я чуть со стула не упал =)
хоть бы прочли перед копипастом!!! НАПИСАНО же ТОЧКА МОНТИРОВАНИЯ ДИСКА!!! Че не понятного???
Спасибо сказали:
nrm
Сообщения: 5
ОС: WinXP, Debian 4.0, CentOS 5

Re: Тестирование hdd на скорость чтения/записи

Сообщение nrm »

всегда рад порадовать)
Спасибо сказали:
noUser
Сообщения: 138
ОС: Arch

Re: Тестирование hdd на скорость чтения/записи

Сообщение noUser »

Знаю, что тема бородата, но dd не подходит, т к нули ядро закеширует и получится скорость в гигабайты в секунду, а устройство random может само быть узким местом.
hdparm вообще непонятно откуда берет цифры. Тоже кеширует, судя по всему.
Вот статья преисполненная ЧСВ http://habrahabr.ru/post/154235/ (ушел читать)
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Тестирование hdd на скорость чтения/записи

Сообщение Hephaestus »

Я когда-то давно ради прикола делал так: создал html-страничку со ссылкой на локальный файл.
Открыл страничку браузером, щелкнул по ссылке, указал куда сохранить, браузер показал скорость скачивания.
Только файл должен быть немаленький - хотя бы несколько сот метров, а лучше гиг-полтора.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Тестирование hdd на скорость чтения/записи

Сообщение drBatty »

noUser писал(а):
29.12.2013 18:05
но dd не подходит, т к нули ядро закеширует и получится скорость в гигабайты в секунду

нет. Пишите прямо в устройство/раздел. В принципе, ext4 и файл не "кеширует", если его писать dd (а вот cp таки выбрасывает нули)
noUser писал(а):
29.12.2013 18:05
а устройство random может само быть узким местом.

random жутко медленное, но /dev/urandom намного быстрее. В конце концов, для этого есть shred(1) ну и badblocks(1). В обоих встроены годные ГПСЧ, скорость которых заведомо больше любого носителя.

А /dev/random совсем для других целей нужно.
noUser писал(а):
29.12.2013 18:05
hdparm вообще непонятно откуда берет цифры. Тоже кеширует, судя по всему.

это смотря как сказать. -T ЕМНИП тест кеша, а вот -t просто тест поверхности(линейная скорость). Линейная скорость на пару порядков больше реальной для hdd by design.
noUser писал(а):
29.12.2013 18:05
Вот статья преисполненная ЧСВ http://habrahabr.ru

желательно не возвращайтесь с идиотскими вопросами, которые у вас возникнут после этого ресурса.

fflatx писал(а):
30.12.2013 01:26
браузер показал скорость скачивания.

на Руси это называется "переливать из пустого в порожнее".
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux
Контактная информация:

Re: Тестирование hdd на скорость чтения/записи

Сообщение denel »

Доброго всем дня!
Озадачился сегодня проверкой поверхности жёсткого диска с тем, чтобы в последующем выделить в отдельные bad-партиции то, с чем потом лучше не сталкиваться при работе. Нужно мне создать полную посектровую картину: номер сектора, время чтения, примерно как в whdd/mhdd, но мне нужна не общая статистика, а конкретная. Можно как то это сделать с помощью dd, указав ему физический bs, и заставив выводить информацию о времени чтения каждого блока? Или в какую сторону копнуть посоветуете? Позже изучу ссылки, что здесь приводились
Спасибо сказали:
Аватара пользователя
lone_wolf
Сообщения: 206

Re: Тестирование hdd на скорость чтения/записи

Сообщение lone_wolf »

denel писал(а):
28.01.2017 05:06
Доброго всем дня!
Озадачился сегодня проверкой поверхности жёсткого диска с тем, чтобы в последующем выделить в отдельные bad-партиции то, с чем потом лучше не сталкиваться при работе. Нужно мне создать полную посектровую картину: номер сектора, время чтения, примерно как в whdd/mhdd, но мне нужна не общая статистика, а конкретная. Можно как то это сделать с помощью dd, указав ему физический bs, и заставив выводить информацию о времени чтения каждого блока? Или в какую сторону копнуть посоветуете? Позже изучу ссылки, что здесь приводились

Если не ошибаюсь вам нужна утилита badblocks
Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux
Контактная информация:

Re: Тестирование hdd на скорость чтения/записи

Сообщение denel »

lone_wolf писал(а):
28.01.2017 12:17
denel писал(а):
28.01.2017 05:06
Доброго всем дня!
Озадачился сегодня проверкой поверхности жёсткого диска с тем, чтобы в последующем выделить в отдельные bad-партиции то, с чем потом лучше не сталкиваться при работе. Нужно мне создать полную посектровую картину: номер сектора, время чтения, примерно как в whdd/mhdd, но мне нужна не общая статистика, а конкретная. Можно как то это сделать с помощью dd, указав ему физический bs, и заставив выводить информацию о времени чтения каждого блока? Или в какую сторону копнуть посоветуете? Позже изучу ссылки, что здесь приводились

Если не ошибаюсь вам нужна утилита badblocks

Не совсем то. Мне хотелось бы сразу на перспективу: исключить уже "затёртые" места, ещё не бэды
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Тестирование hdd на скорость чтения/записи

Сообщение Bizdelnick »

denel писал(а):
28.01.2017 05:06
Озадачился сегодня проверкой поверхности жёсткого диска с тем, чтобы в последующем выделить в отдельные bad-партиции то, с чем потом лучше не сталкиваться при работе. Нужно мне создать полную посектровую картину: номер сектора, время чтения, примерно как в whdd/mhdd, но мне нужна не общая статистика, а конкретная. Можно как то это сделать с помощью dd, указав ему физический bs, и заставив выводить информацию о времени чтения каждого блока?

Не хочу в очередной раз повторять, насколько это бессмысленное занятие. См. например научите помечать трудночитаемые сектора как BADы и Каким аналогом victoria 3.52 вы пользуетесь?.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Тестирование hdd на скорость чтения/записи

Сообщение s.xbatob »

denel писал(а):
28.01.2017 05:06
Доброго всем дня!
Озадачился сегодня проверкой поверхности жёсткого диска с тем, чтобы в последующем выделить в отдельные bad-партиции то, с чем потом лучше не сталкиваться при работе. Нужно мне создать полную посектровую картину: номер сектора, время чтения, примерно как в whdd/mhdd, но мне нужна не общая статистика, а конкретная. Можно как то это сделать с помощью dd, указав ему физический bs, и заставив выводить информацию о времени чтения каждого блока? Или в какую сторону копнуть посоветуете? Позже изучу ссылки, что здесь приводились

Успокойтесь! Нынешние диски сами заботятся о своём здоровье, замещают ломаные треки и прочее. Насколько эффективно они это делают - вопрос, но информацией о реальном положении дел они всё равно не делятся. Но если сбойные блоки стали видимыми - дело плохо: резерв уже исчерпан, и привод пора менять.
Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux
Контактная информация:

Re: Тестирование hdd на скорость чтения/записи

Сообщение denel »

s.xbatob писал(а):
28.01.2017 15:18
denel писал(а):
28.01.2017 05:06
Доброго всем дня!
Озадачился сегодня проверкой поверхности жёсткого диска с тем, чтобы в последующем выделить в отдельные bad-партиции то, с чем потом лучше не сталкиваться при работе. Нужно мне создать полную посектровую картину: номер сектора, время чтения, примерно как в whdd/mhdd, но мне нужна не общая статистика, а конкретная. Можно как то это сделать с помощью dd, указав ему физический bs, и заставив выводить информацию о времени чтения каждого блока? Или в какую сторону копнуть посоветуете? Позже изучу ссылки, что здесь приводились

Успокойтесь! Нынешние диски сами заботятся о своём здоровье, замещают ломаные треки и прочее. Насколько эффективно они это делают - вопрос, но информацией о реальном положении дел они всё равно не делятся. Но если сбойные блоки стали видимыми - дело плохо: резерв уже исчерпан, и привод пора менять.

Ну вот сейчас сканирую bash скриптом. На одном диске нет перераспределённых по SMART, но некоторые секторы читаются 4-6 сек! (512байт). На другом всего 2 перераспределённых и несколько так же трудночитаемых 3-4 сек. Так можно работать Вы считаете? У меня так DM raid рассыпается... Иными словами, не весь софт готов ждать столько времени чтения 512 байт с локального жёсткого диска
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Тестирование hdd на скорость чтения/записи

Сообщение Bizdelnick »

denel писал(а):
28.01.2017 17:07
На одном диске нет перераспределённых по SMART, но некоторые секторы читаются 4-6 сек! (512байт). На другом всего 2 перераспределённых и несколько так же трудночитаемых 3-4 сек. Так можно работать Вы считаете?

Нет. Сколько винтам лет? Сдавайте по гарантии или выкидывайте.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux
Контактная информация:

Re: Тестирование hdd на скорость чтения/записи

Сообщение denel »

Воспользовался утилитой hdrecover: после неё на удивление все секторы стали нормально читаемы!
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Тестирование hdd на скорость чтения/записи

Сообщение Goodvin »

denel писал(а):
29.01.2017 07:48
Воспользовался утилитой hdrecover: после неё на удивление все секторы стали нормально читаемы!

Вы точно не путаете физические сектора на диске с блоками файловой системы?
Разницу между бэдблоками физическими и логическими понимаете/учитываете?
Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux
Контактная информация:

Re: Тестирование hdd на скорость чтения/записи

Сообщение denel »

Goodvin писал(а):
31.01.2017 14:40
denel писал(а):
29.01.2017 07:48
Воспользовался утилитой hdrecover: после неё на удивление все секторы стали нормально читаемы!

Вы точно не путаете физические сектора на диске с блоками файловой системы?
Разницу между бэдблоками физическими и логическими понимаете/учитываете?

С блоками ФС я точно не мог путать, так как сначала я сделал dd if=/dev/zero of=/dev/sda, т.е. о ФС и её блоках речи идти точно не может. А узнавал читаемость скторов так: time dd if=/dev/sda of=/dev/zero bs=512 count=1 skip=...
Есть ещё сомнения? Или может я что неправильно делал? Размер физ сектора точно 512
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Тестирование hdd на скорость чтения/записи

Сообщение Goodvin »

denel писал(а):
31.01.2017 19:56
Goodvin писал(а):
31.01.2017 14:40
denel писал(а):
29.01.2017 07:48
Воспользовался утилитой hdrecover: после неё на удивление все секторы стали нормально читаемы!

Вы точно не путаете физические сектора на диске с блоками файловой системы?
Разницу между бэдблоками физическими и логическими понимаете/учитываете?

С блоками ФС я точно не мог путать, так как сначала я сделал dd if=/dev/zero of=/dev/sda, т.е. о ФС и её блоках речи идти точно не может.

Это логично

denel писал(а):
31.01.2017 19:56
А узнавал читаемость скторов так: time dd if=/dev/sda of=/dev/zero bs=512 count=1 skip=...

А это весьма странный способ измерять время доступа к сектору на поверхности диска.
Конструкция с 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, например.

denel писал(а):
31.01.2017 19:56
Есть ещё сомнения?
Или может я что неправильно делал? Размер физ сектора точно 512

Размер зависит от модели HDD.
Бывает и 4096 байт (4 КиБ)
Спасибо сказали:
Ответить