|NO.Z.00005|——————————|NavigationLog|——|FIO工具|

一、FIO工具安装:

 

### --- FIO工具安装:

~~~		官网地址:http://freecode.com/projects/fio/
~~~		源码安装包:http://brick.kernel.dk/snaps/fio-2.1.10.tar.gz
二、FIO工具配置
### --- FIO工具部署

~~~		# 部署FIO工具
[root@localhost ~]# rpm –qa | grep fio
~~~		# 编译安装FIO工具
[root@lh fio-2.1.10]# ./configure
[root@lh fio-2.1.10]# make
[root@lh fio-2.1.10]# make install<br>[root@lh fio-2.1.10]# fio --help
### --- FIO安装失败:如果未成功就用rpm安装:获取fio的rpm安装包后:

~~~		# 通过rpm包安装FIO工具
[root@localhost tmp]# rpm -ivh fio-2.0.9-1.el6.rf.x86_64.rpm
warning: fio-2.1.10-1.el6.rf.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY
Preparing... ########################################### [100%]
1:fio ########################################### [100%]
### --- 常见故障解决方案:

fio: failed to load engine libaio
[root@localhost tmp] yum install libaio-devel

[root@lh fio-2.1.10]# ./configure
[root@lh fio-2.1.10]# make
[root@lh fio-2.1.10]# make install<br>[root@lh fio-2.1.10]# fio --help

三、FIO工具使用方法
### --- 常用参数

filename=/dev/sdb1 									// 测试文件名称,通常选择需要测试的盘的data目录。
direct=1 										// 测试过程绕过机器自带的buffer。使测试结果更真实。
rw=randwrite 										// 测试随机写的I/O
rw=randrw 										// 测试随机写和读的I/O
bs=16k 											// 单次io的块文件大小为16k
bsrange=512-2048 									// 同上,提定数据块的大小范围
size=5g 										// 本次的测试文件大小为5g,以每次4k的io进行测试。
numjobs=30 										// 本次的测试线程为30.
runtime=1000 										// 测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止。
ioengine=psync 										// io引擎使用pync方式
rwmixwrite=30 										// 在混合读写的模式下,写占30%
group_reporting 									// 关于显示结果的,汇总每个进程的信息。
lockmem=1g 										// 只使用1g内存进行测试。
zero_buffers 										// 用0初始化系统buffer。
nrfiles=8 										// 每个进程生成文件的数量。
### --- 磁盘读写常用测试点:

Read=100% Ramdon=100% rw=randread 							//  (100%随机读)
Read=100% Sequence=100% rw=read 							// (100%顺序读)
Write=100% Sequence=100% rw=write 							// (100%顺序写)
Write=100% Ramdon=100% rw=randwrite 							// (100%随机写)
Read=70% Sequence=100% rw=rw, rwmixread=70, rwmixwrite=30				// (70%顺序读,30%顺序写)
Read=70% Ramdon=100% rw=randrw, rwmixread=70, rwmixwrite=30				//  (70%随机读,30%随机写)
四、测试POC
### --- 顺序写:
### --- 描述:向/dev/sda分区存储上以2M块文件大小顺序写1100GB文件

[root@localhost ~]fio -output=/tmp/100S100W -name=100S100W -filename=/dev/sda -ioengine=libaio -direct=1 -blocksize=2M -size=1100GB -rw=write -iodepth=8 -numjobs=1
### --- 随机写:
### --- 描述:向/dev/sda分区存储上以2M块文件大小随机写1100GB文件

[root@localhost ~]fio -output=/tmp/100R100W -name=100R100W -filename=/dev/sdb:/dev/sdc:/dev/sdd -ioengine=libaio -direct=1 -blocksize=2M -size=3356GB -rw=randwrite -iodepth=8 -numjobs=1
### --- 顺序读:
 
[root@localhost ~]fio -output=/tmp/100S100W -name=100S100W -filename=/dev/sda -ioengine=libaio -direct=1 -blocksize=2M –runtime=1800 -rw=read -iodepth=8 -numjobs=1
### --- 随机读:

[root@localhost ~]fio -output=/tmp/100S100Wsdbsdcsdd -name=100S100W -write_bw_log=bw_log -write_lat_log=lat_log -filename=/dev/sdb:/dev/sdc:/dev/sdd -ioengine=libaio -direct=1 -blocksize=2M -runtime=1800 -rw=randread -iodepth=32 -numjobs=1
### --- 混合随机读写:
### --- 描述:70%随机读,30%随机写,以2M块文件大小向/dev/sdb:/dev/sdc:/dev/sdd三个分区存储上随机读写300s时间

[root@localhost ~]fio -output=/tmp/100S100W -name=100S100W -filename=/dev/sdb:/dev/sdc:/dev/sdd -ioengine=libaio -direct=1 -blocksize=2M -runtime=300 -rw=randrw -rwmixread=70 -rwmixwrite=30 -iodepth=32 -numjobs=1
五、磁盘IO工具
### --- 磁盘IO工具:监控磁盘IO命令:iostat –mx 1 (iostat的安装方法:yum install sysstat)

[root@localhost tmp]# iostat -mx 1

Linux 2.6.32-220.el6.x86_64 (localhost.localdomain) XXXX年XX月XX日 _x86_64_ (32 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
12.74 0.00 8.95 0.04 0.00 78.27
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
sda 0.18 10.05 0.31 7.67 0.01 0.07 18.77 0.00 0.28 0.14 0.11
sdb 0.69 0.10 15.74 11.21 0.17 2.45 190.77 0.34 12.10 0.23 0.63
sdc 0.43 0.06 9.58 5.94 0.13 1.20 176.32 0.03 1.70 0.16 0.25

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

posted on   yanqi_vip  阅读(47)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

导航

统计

点击右上角即可分享
微信分享提示