Если надо быстро измерить производительность жёсткого диска, то можно использовать утилиту fio. Устанавливаем её:
sudo aptitude install fio
либо команда для CentOS (должен быть подключён репозиторий rpmforge):
yum install fio
Снимаем статистику с диска:
Внимание!!! Эта команда может повредить данные на ваших дисках, так как записывает в случайные области данные, есть возможность протестировать только в режиме чтения. Для её использования необходимо заменить параметр -rw=randwrite на -rw=randread
sudo fio -name iops -rw=randwrite -bs=512 -runtime=20 -iodepth 20 -filename /dev/sdc -ioengine libaio -direct=1
Результат тестирования:
iops: (g=0): rw=randwrite, bs=512-512/512-512, ioengine=libaio, iodepth=20 fio 1.57 Starting 1 process Jobs: 1 (f=1): [w] [100.0% done] [0K/117K /s] [0 /230 iops] [eta 00m:00s] iops: (groupid=0, jobs=1): err= 0: pid=3108 write: io=2452.6KB, bw=125086 B/s, iops=244 , runt= 20077msec slat (usec): min=11 , max=240 , avg=33.06, stdev= 8.35 clat (usec): min=561 , max=500122 , avg=81790.77, stdev=59212.29 lat (usec): min=589 , max=500153 , avg=81825.70, stdev=59212.45 bw (KB/s) : min= 112, max= 256, per=99.98%, avg=121.97, stdev=22.24 cpu : usr=0.94%, sys=2.27%, ctx=4885, majf=0, minf=19 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.2%, 16=99.7%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0% issued r/w/d: total=0/4905/0, short=0/0/0 lat (usec): 750=0.14%, 1000=0.18% lat (msec): 2=0.35%, 4=0.67%, 10=1.81%, 20=6.24%, 50=24.38% lat (msec): 100=36.17%, 250=28.13%, 500=1.90%, 750=0.02% Run status group 0 (all jobs): WRITE: io=2452KB, aggrb=122KB/s, minb=125KB/s, maxb=125KB/s, mint=20077msec, maxt=20077msec Disk stats (read/write): sdc: ios=0/4850, merge=0/0, ticks=0/395460, in_queue=396444, util=99.48%
Немного о параметрах fio:
name - имя задания. readwrite (rw) - тип задания, может быть последовательное чтение, запись, чтение-записи; случайное чтение, запись, запись-чтение. blocksize (bs) - размер блока данных для операций ввода вывода runtime - время проведения теста в секундах iodepth - во сколько потоков тестировать диск filename - имя тестируемого устройства ioengine - какую библиотеку ввода-вывода использовать direct - управление буферизацией (если - 1, то не использовать буферы)
Статистика установленных у меня дисков:
Seagate Barracuda LP (ST32000542AS) - 117 MAXTOR (STM3160815AS) - 127 Western Digital (WD3200AAJS) - 159