Thứ Tư, 3 tháng 9, 2014

FIO_Check harddisk

FIO là gì?


NAME
       fio - flexible I/O tester

FIO viết tắt của Flexible IO Tester là công cụ được sử dụng để cho phép test hiệu năng của ổ cứng.

SYNOPSIS
       fio [options] [jobfile]...

DESCRIPTION
       fio  is  a tool that will spawn a number of threads or processes doing a particular type of I/O action as specified by the user.  The typical use of fio is to write a job file matching the I/O load one wants to simulate.

Bạn có thể hình dung một cách đơn giản cách thức hoạt động của FIO như sau:

Fio sử dung một job file để xác định các parameters, mô phỏng công việc mà job sẽ thực hiện. Định dạng của một file config tương tự như thế này:

[randread]
rw=randread
bs=4k,4k
numjobs=1
size=500m
directory=/mnt/data
 
Với một số parameters hay sử dụng:

rw: có thể nhận các giá trị sau:
  • randread: Đọc ngẫu nhiên.
  • randwrite: Ghi ngẫu nhiên.
  • randrw: Cả đọc và ghi ngẫu nhiên.
  • read: Đọc tuần tự.
  • write: Ghi tuần tự.
  • rw,readwrite: Cả đọc và ghi tuần tự.
Numjobs = 1: 1 tiến trình được thực hiện.
bs: block size: việc đọc được thực hiện với các file 4K
Size = 500m : 500MB dữ liệu được đọc.
Directory: thư mục được sử dụng để thực hiện job check.
Name: tên job.
runtime: thời gian quy định chạy một job.

Bạn có thể thực hiện đồng thời một hay nhiều job với fio.
Nếu muốn sử chạy nhiều job giống nhau, bạn có thể dùng [global] session hoặc dùng option "Numjob=x".

Ví dụ:
# job file
thanhnt@Thanhnt:~/works/testspeed/fio$ cat testharddisk.fio
[random_rw]
rw=randrw
size=1024m
directory=/tmp/fio
direct=1
name=check_disk
bs=1M
runtime=10

# Thực hiện job check chạy:
root@Thanhnt:/home/thanhnt/works/testspeed/fio# fio testharddisk.fio
check_disk: (g=0): rw=randrw, bs=1M-1M/1M-1M, ioengine=sync, iodepth=1
fio 1.59
Starting 1 process
check_disk: Laying out IO file(s) (1 file(s) / 1024MB)
Jobs: 1 (f=1): [m] [100.0% done] [27262K/26214K /s] [26 /25  iops] [eta 00m:00s]
check_disk: (groupid=0, jobs=1): err= 0: pid=13023
  read : io=270336KB, bw=27028KB/s, iops=26 , runt= 10002msec
    clat (msec): min=10 , max=73 , avg=27.29, stdev=17.38
     lat (msec): min=10 , max=73 , avg=27.29, stdev=17.38
    bw (KB/s) : min=15558, max=42247, per=101.60%, avg=27459.39, stdev=6845.25
  write: io=277504KB, bw=27745KB/s, iops=27 , runt= 10002msec
    clat (msec): min=4 , max=232 , avg=10.27, stdev=25.53
     lat (msec): min=4 , max=232 , avg=10.31, stdev=25.53
    bw (KB/s) : min=13274, max=42330, per=101.16%, avg=28065.78, stdev=7388.68
  cpu          : usr=0.04%, sys=1.12%, ctx=544, majf=0, minf=22
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 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.0%, 64=0.0%, >=64=0.0%
     issued r/w/d: total=264/271/0, short=0/0/0

     lat (msec): 10=44.49%, 20=28.60%, 50=17.01%, 100=9.16%, 250=0.75%

Run status group 0 (all jobs):
   READ: io=270336KB, aggrb=27028KB/s, minb=27676KB/s, maxb=27676KB/s, mint=10002msec, maxt=10002msec
  WRITE: io=277504KB, aggrb=27744KB/s, minb=28410KB/s, maxb=28410KB/s, mint=10002msec, maxt=10002msec

Disk stats (read/write):
  sda: ios=515/564, merge=0/61, ticks=12800/5468, in_queue=18300, util=98.15%
Đây là kết quả bạn cần:
read : io=270336KB, bw=27028KB/s, iops=26 , runt= 10002msec
write: io=277504KB, bw=27745KB/s, iops=27 , runt= 10002msec

Chi tiết: man fio

Tham khảo:
http://www.slideshare.net/markwkm/filesystem-performance-from-a-database-perspective
http://www.dbi-services.com/index.php/blog/entry/flexible-io-simulating-database-like-io-activity-without-an-installed-database
https://github.com/vdcit/FIO-hardisk
http://www.bluestop.org/fio/HOWTO.txt

Không có nhận xét nào:

Đăng nhận xét