服务器io性能测试工具,Fio IO性能测试工具介绍

本文介绍了使用fio工具进行调试时遇到的问题及解决方法,并详细解释了fio中不同ioengine选项的作用和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0199b369040172d8b52d157b8d85b174?s=32&d=mm&r=g

liu.li Reply:

June 13th, 2013 at 11:28 am

运行fio -debug=all后出现以下信息,但不明白什么意思,貌似相应的包我也安装了~

fio: set all debug options

parse 32147 free options

time 32147 cycles[0]=2666

time 32147 cycles[1]=2665

time 32147 cycles[2]=2666

time 32147 cycles[3]=2666

time 32147 cycles[4]=2666

time 32147 cycles[5]=2666

time 32147 cycles[6]=2666

time 32147 cycles[7]=2666

time 32147 cycles[8]=2666

time 32147 cycles[9]=2666

time 32147 cycles[10]=2666

time 32147 cycles[11]=2666

time 32147 cycles[12]=2666

time 32147 cycles[13]=2666

time 32147 cycles[14]=2666

time 32147 cycles[15]=2666

time 32147 cycles[16]=2666

time 32147 cycles[17]=2666

time 32147 cycles[18]=2666

time 32147 cycles[19]=2666

time 32147 cycles[20]=2666

time 32147 cycles[21]=2666

time 32147 cycles[22]=2666

time 32147 cycles[23]=2666

time 32147 cycles[24]=2666

time 32147 cycles[25]=2666

time 32147 cycles[26]=2666

time 32147 cycles[27]=2666

time 32147 cycles[28]=2666

time 32147 cycles[29]=2666

time 32147 cycles[30]=2666

time 32147 cycles[31]=2666

time 32147 cycles[32]=2666

time 32147 cycles[33]=2666

time 32147 cycles[34]=2666

time 32147 cycles[35]=2666

time 32147 cycles[36]=2666

time 32147 cycles[37]=2666

time 32147 cycles[38]=2666

time 32147 cycles[39]=2666

time 32147 cycles[40]=2666

time 32147 cycles[41]=2666

time 32147 cycles[42]=2666

time 32147 cycles[43]=2666

time 32147 cycles[44]=2666

time 32147 cycles[45]=2666

time 32147 cycles[46]=2666

time 32147 cycles[47]=2666

time 32147 cycles[48]=2666

time 32147 cycles[49]=2666

time 32147 avg: 2667

time 32147 mean=2666.650000, S=0.035743

time 32147 inv_cycles_per_usec=6290

io 32147 ioengine cpuio unregistered

io 32147 ioengine mmap unregistered

io 32147 ioengine sync unregistered

io 32147 ioengine psync unregistered

io 32147 ioengine vsync unregistered

io 32147 ioengine null unregistered

io 32147 ioengine net unregistered

io 32147 ioengine netsplice unregistered

io 32147 ioengine libaio unregistered

io 32147 ioengine posixaio unregistered

io 32147 ioengine falloc unregistered

io 32147 ioengine e4defrag unregistered

io 32147 ioengine splice unregistered

io 32147 ioengine sg unregistered

io 32147 ioengine binject unregistered

profile 32147 unregister profile ‘tiobench’

0199b369040172d8b52d157b8d85b174?s=32&d=mm&r=g

liu.li Reply:

June 13th, 2013 at 1:59 pm

可以了,在job文件里添加了ioengine=mmap。调用的,好像还行,但是关于这些engine,具体代表啥意思,请霸爷给明示啊~感谢~

2f3b92251d56989e1fdbe07eb6299160?s=32&d=mm&r=g

June 13th, 2013 at 4:32 pm

ioengine=str

Defines how the job issues I/O. The following types are defined:

sync

Basic read(2) or write(2) I/O. fseek(2) is used to position the I/O location.

psync

Basic pread(2) or pwrite(2) I/O.

vsync

Basic readv(2) or writev(2) I/O. Will emulate queuing by coalescing adjacents IOs into a single submission.

libaio

Linux native asynchronous I/O. This ioengine defines engine specific options.

posixaio

POSIX asynchronous I/O using aio_read(3) and aio_write(3).

solarisaio

Solaris native asynchronous I/O.

windowsaio

Windows native asynchronous I/O.

mmap

File is memory mapped with mmap(2) and data copied using memcpy(3).

splice

splice(2) is used to transfer the data and vmsplice(2) to transfer data from user-space to the kernel.

syslet-rw

Use the syslet system calls to make regular read/write asynchronous.

sg

SCSI generic sg v3 I/O. May be either synchronous using the SG_IO ioctl, or if the target is an sg character device, we use read(2) and write(2) for asynchronous I/O.

null

Doesn’t transfer any data, just pretends to. Mainly used to exercise fio itself and for debugging and testing purposes.

net

Transfer over the network. The protocol to be used can be defined with the protocol parameter. Depending on the protocol, filename, hostname, port, or listen must be specified. This ioengine defines engine specific options.

netsplice

Like net, but uses splice(2) and vmsplice(2) to map data and send/receive. This ioengine defines engine specific options.

cpuio

Doesn’t transfer any data, but burns CPU cycles according to cpuload and cpucycles parameters.

guasi

The GUASI I/O engine is the Generic Userspace Asynchronous Syscall Interface approach to asycnronous I/O.

rdma

The RDMA I/O engine supports both RDMA memory semantics (RDMA_WRITE/RDMA_READ) and channel semantics (Send/Recv) for the InfiniBand, RoCE and iWARP protocols.

external

Loads an external I/O engine object file. Append the engine filename as ‘:enginepath’.

falloc

IO engine that does regular linux native fallocate callt to simulate data transfer as fio ioengine

DDIR_READ does fallocate(,mode = FALLOC_FL_KEEP_SIZE,)

DIR_WRITE does fallocate(,mode = 0)

DDIR_TRIM does fallocate(,mode = FALLOC_FL_KEEP_SIZE|FALLOC_FL_PUNCH_HOLE)

e4defrag

IO engine that does regular EXT4_IOC_MOVE_EXT ioctls to simulate defragment activity request to DDIR_WRITE event

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值