Write_PPS_Testing: (groupid=0, jobs=1): err= 0: pid=10004: Thu Aug 29 09:38:47 2019
write: io=51200MB, bw=762224KB/s, iops=744, runt= 68784msec
slat (usec): min=85, max=386419, avg=243.31, stdev=2832.49
clat (msec): min=5, max=2251, avg=85.72, stdev=158.93
lat (msec): min=5, max=2252, avg=85.96, stdev=158.95
clat percentiles (msec):
| 1.00th=[ 8], 5.00th=[ 10], 10.00th=[ 12], 20.00th=[ 15],
| 30.00th=[ 18], 40.00th=[ 23], 50.00th=[ 29], 60.00th=[ 39],
| 70.00th=[ 56], 80.00th=[ 97], 90.00th=[ 217], 95.00th=[ 392],
| 99.00th=[ 857], 99.50th=[ 1037], 99.90th=[ 1319], 99.95th=[ 1434],
| 99.99th=[ 1942]
bw (KB /s): min=141312, max=1204224, per=100.00%, avg=762618.26, stdev=173899.50
lat (msec) : 10=5.96%, 20=29.32%, 50=32.30%, 100=12.89%, 250=10.97%
lat (msec) : 500=5.26%, 750=1.93%, 1000=0.79%, 2000=0.58%, >=2000=0.01%
cpu : usr=7.89%, sys=8.95%, ctx=36120, majf=0, minf=12
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=99.9%
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.1%, >=64=0.0%
issued : total=r=0/w=51200/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0
latency : target=0, window=0, percentile=100.00%, depth=64
Run status group 0 (all jobs):
WRITE: io=51200MB, aggrb=762223KB/s, minb=762223KB/s, maxb=762223KB/s, mint=68784msec, maxt=68784msec
Disk stats (read/write):
sdc: ios=0/51202, merge=0/940, ticks=0/4224176, in_queue=4263888, util=99.93%
这样只能看到一个结果,而中间过程的IO情况则看不到。所以这里介绍一个方法,可以将fio中间过程的数据抓出来绘制成图的方法。
2、安装gnuplot
~# apt-get install gnuplot -y
…
root@test-image-stable-200-e8379f80-c86c-4c54-9391-f6e5810bec43:~# dpkg -l |grep plot
ii gnuplot 5.0.5+dfsg1-6+deb9u1 all Command-line driven interactive plotting program, version 5
ii gnuplot-data 5.0.5+dfsg1-6+deb9u1 all Command-line driven interactive plotting program. Data-files
ii gnuplot-qt 5.0.5+dfsg1-6+deb9u1 amd64 Command-line driven interactive plotting program. QT-package
3、进行FIO测试
这里需要说明下的就是write_bw_log这个参数需要指定,意思就是将fio的输出带宽信息就到文件test-fio中。这里可以指定带宽,IOPS和延时,
fio -direct=1 -iodepth=64 -rw=read -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting --log_avg_msec=500 --write_bw_log=test-fio -filename=/mnt/test_file -name=Write_PPS_Testing
还可以指定以下参数
write_bw_log=fio-test
write_iops_log=fio-test
write_lat_log=fio-test
运行完成后可以生成如下文件:
root@test-image-stable-200-e8379f80-c86c-4c54-9391-f6e5810bec43:~/demo# ls -hl |grep test-fio_bw.1.log
-rw-r–r-- 1 root root 2.7K Aug 29 09:38 test-fio_bw.1.log
root@test-image-stable-200-e8379f80-c86c-4c54-9391-f6e5810bec43:~/demo# cat test-fio_bw.1.log
500, 950272, 1, 0
1000, 1071104, 1, 0
1499, 868040, 1, 0
2000, 866304, 1, 0
2500, 960512, 1, 0
3000, 735232, 1, 0
3500, 831488, 1, 0
4000, 684032, 1, 0
4504, 463238, 1, 0
5000, 1204224, 1, 0
5500, 841728, 1, 0
…
这里表示每log_avg_msec=500ms记录一次。这个参数也可以调整。
绘图
将这个test-fio_bw.1.log修改成test-fio_bw.log,因为fio2gnuplot会默认在当前目录下寻找*_bw.log文件。
root@test-image-stable-200-e8379f80-c86c-4c54-9391-f6e5810bec43:~/demo# fio2gnuplot -b -g
1 files Selected with pattern ‘*_bw.log’
|-> test-fio_bw.log
Running gnuplot Rendering
Rendering traces are available in the current directory
这里b的意思就是绘制带宽的图,-i则表示绘制iops的图,但是貌似现在gnuplot不支持iops和latency的绘制。不要在乎这些细节。执行完成后会生成如下几个文件:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
mftmfC-1712935239685)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!