ATA-100 и Linux
Здравствуйте!
Меня немного смущает скорость работы моего нового винчестера Seagate blah
- 250Gb/7200rpm ( 10-20 мб/сек )
Capabilities:
LBA, IORDY(can be disabled)
Standby timer values: spec'd by Standard, no device specific
minimum R/W multiple sector transfer: Max = 16 Current = 16
Recommended acoustic management value: 208, current value: 0
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=240ns IORDY flow control=120ns
В спецификации указано, что он поддерживает ATA-100, однако в реале
скорость как уже писалось выше 20мб/сек при записи не поднимается.
У кого какие скорости ( не синтетические ) для сравнения?
Ilia N Ternovich:
1) Скорость передачи данных по интерфейсу, через который подключен
винчестер, и скорость передачи данных самого винчестера - две большие
разницы. SATA II позволяет передавать до 300 Мб/с и я бы хотел посмотреть
на винчестер, который сможет выдать такую скорость чтения с блинов (из
кэша возможно, но кэша-то мало...)
2) Скорость чтения и скорость записи - две большие разницы. `hdparm -t`
показывает именно скорость чтения. Скорость записи, как правило, ниже.
3) Чтение и запись бывают разными. Бывает скорость линейного чтения/записи,
когда не используется никакая ФС. Для чтения это именно то, что делает
`hdparm -t`. Бывает же скорость чтения/записи файлов на ФС,
расположившейся на винчестере. Бывает и скорость копирования файлов с
одной ФС на другую, причем можно копировать огромное количество мелких
файлов, а можно один на несколько Гб. Все это совершенно разные вещи.
4) А не висит ли пара винчестеров на одном канале и копируем с одного на
другой?
В общем, для начала необходимо определиться с тем, откуда, собственно, взята
цифра в 20 Мб/с. Далее полезно потестировать чтение/запись с помощью dd, в
стиле (если, конечно, винчестер еще не забит бесценными данными):
$ dd if=/dev/zero of=/dev/hdd bs=1048576 count=500
$ dd if=/dev/hdd of=/dev/null bs=1048576 count=500
Линейная запись/чтение с винчестера. Если данные забиты (а, судя по всему,
так и есть), можно читать/писать в файл, цифры должны быть похожие, но чуть
меньшие (впрочем, бывает всякое, сильно фрагментированная ФС оторвется по
полной):
$ dd if=/dev/zero of=/mnt/hdd bs=1048576 count=500
$ dd if=/mnt/hdd of=/dev/null bs=1048576 count=500
Копирование файлов - уже совсем другая тема.