FIO性能指标测试使用文档.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FIO性能指标测试使用文档 性能指标测试使用的工具是iometer,但如果需要简单快速地衡量某个块设备性能时,由于iometer需要装在win虚拟机内,部署起来相对繁琐,此时该工具就不太试用了。fio最初是用来节省为特定负载写专门测试程序,或是进行性能测试,或是找到和重现bug的时间。而写测试应用是非常浪费时间。因此需要一个工具来模拟给定的io负载,而不用重复的写一个又一个的特定的测试程序。 一、fio参数介绍 fio总共有100+个参数,很多参数我们用不到,下面选择版本性能测试中一些常用的参数进行说明。 首先来看wiki上的一条fio命令: fio -name=fiotest.qcow2 -filename=test.qcow2 -group_reporting -iodepth=16 -ioengine=gfapi_async -volume=vs_vol_rep2 -brick=127.0.0.1 -nrfiles=1 -rw=randwrite -bs=4k -size=1G -threads -numjobs=1 -direct=1 该命令式在挂载点下随机写一个1G的文件,测试挂载点的性能,具体参数的意义如下: -name: 用于输出信息用的名字,在上述命令行的使用方法中,表明一个新job的开始,缺省为job name -filename: 测试文件名称,通常选择需要测试的盘的data目录 -group_reporting:汇总所有的信息,而不是每个job都显示具体的结果 -iodepth:本次测试的队列深度 -ioengine:负载产生的引擎,定义job向文件发起io的方式。Fio的引擎有很多,具体可以网上搜一下,常用的引擎为libaio 和 gfapi_async,测试过程中,如果要模拟api的方式测试vs挂载点的性能则用gfapi_async,测试裸盘或其他块设备性能时,选用libaio即可。 -volume 和 -brick:这两个是vs中测试挂载点用的,其他场景不需要。 -nrfiles:每个进程生成的文件数量 -rw: 读写方式,顺序读,顺序写,随机读,随机写,混合读写 -bs: 块大小,一般测试4k, 8k, 64k, 128k, 1M -size: 测试文件的大小 -threads:fio默认会使用fork()创建job,如果这个选项设置的话,fio将使用pthread_create来创建线程 -numjobs:创建的线程数量 -direct: 测试过程绕过机器自带的buffer,相当于o_direct 其他一些相对高级点用法的参数,比如: -runtime:测试时长 -bssplit=4k/40:64k/30:1M/30: 混合块大小,4k:64k:1M = 4:3:3 bsrange=512-2048:块大小的范围,同bs参数 -rw=randrw, -rwmixread=70:混合读写7:3 二、fio数据解析 下面以一个具体的例子说明fio的实际使用方法,以及输出结果中各项指标的含义。后台测试hdd裸盘的性能,输入命令: fio -name=test -group_reporting -ioengine=libaio -nrfiles=1 -threads -numjobs=1 -direct=1 -iodepth=16 -rw=randread -bs=4K -filename=/dev/sdd -runtime=100 上图是裸盘测试的结果,结果中数据较多,在测试过程中,不需要关注这么多参数,对于小块io(以64k为界)只需要关注iops,平均时延(lat中的avg),大块io关注吞吐和平均时延(lat中的avg)即可,上面的测试结果中,由于测试块大小为4k,属于小块,所以只需要看iops和时延,结果为iops=160,平均时延为:99.76ms。 如果有其他需要可以去关注其他指标,各项指标的含义如下: 首先是整个测试用户设定的参数情况,本次测试名为test,测试4k, 16深度随机读,使用的引擎是libaio。截图后部分是fio各个job进程的一些基本信,这些信息,不用关注。 其次是本次测试结果,本次测试总共读了32M数据,吞吐为0.66MBps,iops为160,运行时长为100ms,由于测试的是小块io,所以此处只需要看iops就可以,看吞吐没有意义。 接下来是本次测试的延时时间,slat表示磁盘需要多久将io提交到kernel做处理;clat表示命令提交到了内核,提交到内核到io完成的时间。Lat是一个新的指标,表示从io结果提创建到clat完成,一般说时延,就是看这个值。 下面是clat各个延时所占的百分比。 下图中,bw的意义很明确,就是指带宽,stdev这个指标,我也没

文档评论(0)

添香小铺 + 关注
实名认证
服务提供商

专注于产业研究、商业计划、房地产营销策划、企业运营及咨询管理方案撰写,欢迎咨询。

1亿VIP精品文档

相关文档