温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux系统中如何使用FIO测试性能

发布时间:2022-01-25 09:30:52 来源:亿速云 阅读:313 作者:小新 栏目:开发技术

这篇文章给大家分享的是有关Linux系统中如何使用FIO测试性能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

FIO是用来测试CPU、网络等多种设备的性能测试工具,FIO的出现解决了性能测试工作中重复、繁琐的大部分工作

Linux系统安装FIO步骤:

以centos7为例,直接介绍步骤吧:

1、yum安装(root权限下依次输入下面的命令)

以centos7为例,直接介绍步骤吧:

1、yum安装(root权限下依次输入下面的命令)

yum install libaio-devel fio(首先安装依赖包) wget http://brick.kernel.dk/snaps/fio-2.2.10.tar.gz(访问网站下载fio压缩包,默认存放在Home目录下) tar -zxvf fio-2.2.10.tar.gz(进行解压) cd fio-2.2.10(进入解压后的文件夹) 依次输入./configure;make;make install命令 然后就可以使用fio了

2、习惯可视化界面操作的,就可以直接去官网下载压缩包,然后解压,后面步骤同上。

官方网站 http://freecode.com/projects/fio

http://brick.kernel.dk/snaps/

二、测试方法直接在终端输入以下命令:中间用空格隔开。

fio -filename=/dev/sda2 -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=30 -ioengine=psync -bs=8k -size=10G -numjobs=30 -runtime=1000 -group_reporting -name=rw_read30_8k

三、参数含义

长长的一大串命令好不容易敲完了,可以松一口气了。然后我们就来看一下各个参数的各自代表什么吧

filename=/dev/sda2       //测试文件名称,选择需要测试的磁盘的data目录。千万不能选系统盘,否则会带来灾难性的后果,因为一旦写了superblock,整个系统将会直接挂掉,几乎没有恢复的可能的了。曾经花了半天来恢复,最后被证明只有重装系统这里条路可走了。
direct= 1                        //测试过程绕过系统自带的buffer。使测试结果更真实。具体来说就是,指定为1则为O_DIRECT,不使用Buffer缓存,也可以用buffered=1,表示使用buffer。大多情况下我们都是用前者。
iodepth                          //异步队列深度,默认为1
thread                           //创建的是POSIX 线程
rw=randrw                    //读写方式。这里是测试随机读写的I/O。还可以选择read,write,trim(Sequential trims ,Linux block devices only);randwrite,randread,randtrim(Random trims ,Linux block devices only);readwrtie(顺序混合读写),rw/readwrite(随机混合读写),trimwrite(Sequential trim+write sequences. Blocks will be trimmed first, then the same blocks will be written to.)
rwmixread                    //既然前面是混合读写,自然需要设置一下读写比例啦。这里设置的是读操作的比例
ioengine                       //有以下几种常用模式,官方有几十种,比如有sync,psync,一般这两个用的多一点。具体先不介绍含义了
bs                                 //很明显是指blocksize了。读写的块大小,默认4096。可用,分隔输入三个参数,对应read,write,trims。bs=8k,32k means 8k for reads, 32k for writes and trims
size                              //测试的负载的数量
numjobs                       //本次测试的线程数
runtime                         //测试试时间**秒,如果不写则一直将5g文件分4k每次写完为止
group_reporting           //关于显示结果的,汇总每个进程的信息
name                           //暂时每太看到用不同名字的差别在哪里
此外,还有几个参数不常用到:
lockmem=1g 只使用1g内存进行测试。

zero_buffers 用0初始化系统buffer。

nrfiles=8 每个进程生成文件的数量。

(可以使用fio -help查看每个参数,具体的参数左右可以在官网查看how to文档)

基本就通过修改这些参数进行不同测试,结果重点关注bw和iops:磁盘吞吐量和磁盘每秒操作次数。

感谢各位的阅读!关于“Linux系统中如何使用FIO测试性能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI