fio 测试环境部署和测试参数

如需转载请标明出处:https://blog.csdn.net/huigui65/article/details/79426184
##测试工具环境部署和测试参数:

1、fio工具环境部署

(1)解压tar包:tar -zxvf fio2.99.tar.gz
(2)在fio目录下运行./configure
(3)查看结果中的Rados Block Device engine这个字段的值,如果为no,运行yum install librbd1-devel安装
(4)在fio目录下运行make编译。注:如果使用fio release的2.19版本,由于时间精度的问题,长时间测试,write_log会丢一部分数据(测试两小时,丢50到100个数据)。fio release 2.99版本优化了时间精度,测试2个小时没有丢数据,建议使用。
###2、fio 测试rbd
fio测试rbd参数说明:

[global]
ioengine=rbd:IO引擎使用rbd的方式
clientname=admin:
pool=rbd : 被测rbd所属池的名称
rbdname=test: 被测rbd的名称
rw=randwrite: 读写的方式,randwrite代表随机写
bs=4k: 单次io的块文件大小为4k
numjobs=4: 测试线程
buffered=0: 测试过程绕过机器自带的buffer,使测试结果更真实
runtime=7200: 运行时间
group_reporting=1: 汇总每一个进程的信息
rate_iops=5000 : rate_iops设置额定的iops,一般测试不需要设置
[rbd_iodepth128]
iodepth=128 :io深度设置为128
write_iops_log=write_iops: 表示将iops写入到一个在fio目录下名叫write_iops_iops.1.log的文件中,注:如果numjobs设置为多线程,则每一个线程的iops写入到一个log文件中。
log_avg_msec=1000:每隔1000ms往log中写一次数据

###3、fio测试裸盘

[global]
bs=4k:单次io的块文件大小为4k
ioengine=libaio:IO引擎使用libaio方式
direct=1: 测试过程绕过机器自带的buffer,使得测试结果更真实,等效于buffered=0
runtime=7200:运行时间设置7200s
size=20G :设置本次测试的空间为20G
filename=/dev/sdb20 :被测裸盘的盘符
group_reporting=1:汇总每一个进程的信息
rate_iops=5000 : rate_iops设置额定的iops,一般测试不需要设置
time_based :设置测试基于时间,注:虽然设置了runtime为7200s,如果没有设置time_based,在空间写满之后停止。
write_iops_log=w-4kb-7200s-numjobs4-iodepth128-ssd:表示将iops写入到一个在fio目录下名叫4kb-7200s-numjobs4-iodepth128.iops.1.log的文件中,注:如果numjobs设置为多线程,则每一个线程的iops写入到一个log文件中。
log_avg_msec=1000: 每隔1000ms往log中写一次数据
rw=randwrite : 测试方式随机写
[file1]
numjobs=4:设置测试线程数
iodepth=128:io 深度设置为128

4、fio写文件

[global]
ioengine=libaio
buffered=0
rw=randwrite
bs=1M
size=1G
filename=mytest
directory=/mnt/

[file1]
iodepth=1
#runtime=300
numjobs=1

猜你喜欢

转载自blog.csdn.net/huigui65/article/details/79426184
fio