Как измерить производительность жесткого диска?

Если надо быстро измерить производительность жёсткого диска, то можно использовать утилиту 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
Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий