1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Linux硬盘性能测试工具 - FIO

Linux硬盘性能测试工具 - FIO

时间:2023-07-02 14:29:07

相关推荐

Linux硬盘性能测试工具 - FIO

1.安装:

方法一:直接用指令yum -y install fio

方法二:如果方法一不可行则,在官网/projects/fio/下载fio的安装包。安装方法很简单。解压缩后,进入目录输入./configure make make install。

2.执行:

命令行:

fio -filename=/data/fiotest -direct=1 -ioengine=libaio -iodepth=16 -rw=randrw -rwmixwrite=70 -bs=64k -size=10G -numjobs=4 -runtime=60 -group_reporting -name=test_rwfio -filename=/data/fiotest -direct=1 -ioengine=libaio -iodepth=16 -rw=randrw -rwmixwrite=70 -bs=64k -size=10G -numjobs=4 -runtime=60 -group_reporting -name=test_rw

脚本:

vim /usr/local/src/fiotest.conf

[global]filename=/data/fiotest # the device/file namedirect=1 # use raw io instead of buffered ioioengine=libaio # libaio is asynchronized io mode, sync is synchronized modeiodepth=16# if use libaio, iodepth means the ios can be submitted at the same time. It is important!size=10Gnumjobs=5 # number of clones of processes/threads for each jobruntime=60# in seconds for each jobname=test_read[rw64k-rand]stonewall # wait until the previous job is finishedbs=64krw=randrwrwmixwrite=70group_reportingrw512k-rand]stonewall #wait until the previous job is finishedbs=512krw=randrwrwmixwrite=70group_reporting

注意 fio测试指令需要在root权限下才能操作

第一个text是运行完后在/data 目录下会生成一个5G的text文件。

第二个test_read是测试运行结果在屏幕上显示的都是以test_read:。。。

3.关于参数:

-filename: 后可以直接加设备名 如-filename /dev/sdb1 ;也可以加设备的挂载点的文件名,如-filename=/data/testfile。

-directory: 设置filename的路径前缀,入股filename有指定路径,此项可以省略。

-direct: bool类型,如果设置成true (1),表示不使用io buffer,测试绕过机器自带的buffer,测试结果更真实。

-ioengine=sync I/O引擎,现在fio支持19种ioengine。默认值是sync同步阻塞I/O,libaio是Linux的native异步I/O。

通常有同步和异步两种方式。同步的io一次只能发出一个io请求,等待内核完成才返回,这样对单线程来说iodepth总是小于1的,但多个线程并发可以使iodepth变大。异步方式就是一次提交一批请求,等待一批的完成,减少交互的次数

-iodepth: io队列深度,当ioengine采用异步方式,该参数生效,表示一批提交保持的io单元数。

-rw有5种情况:

1.-rw=read

2.-rw=randread

3.-rw=write

4.-rw=randwrite

5.-rw=randrw -rwmixread=70 //混合模式下读占百分之70

-bs: blocksize 每次读写的大小,默认是4k。

-size: 本次的测试文件的大小,默认以每次4k的io进行测试。

-numjobs: 指定job的克隆数(线程)。

-runtime: 指定在多少秒后停止进程。如果未指定该参数,fio将执行至指定的文件读写完全完成。

-group_reporting: 关于现实结果,汇总每个进程的信息,当同时指定了numjobs了时,输出结果按组显示。

-name: 指定job的名字,在命令行中表示新启动一个job。

-time_based: 如果在runtime指定的时间还没到时文件就被读写完成,将继续重复直到runtime时间结束。

[THE END]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。