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:
Với một số parameters hay sử dụng:[randread] rw=randread bs=4k,4k numjobs=1 size=500m directory=/mnt/data
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ự.
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Đây là kết quả bạn cần:
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%
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