前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >fio基础10

fio基础10

作者头像
franket
发布2022-04-24 00:21:08
4580
发布2022-04-24 00:21:08
举报
文章被收录于专栏:技术杂记
代码语言:javascript
复制

bs_is_seq_randIfthisoptionisset,fiowillusethenormalread,writeblocksizesettingsassequential,randominstead.AnyrandomreadorwritewillusetheWRITEblocksizesettings,andanysequentialreadorwritewillusetheREADblocksizesetting.zero_buffersIfthisoptionisgiven,fiowillinittheIObufferstoallzeroes.Thedefaultistofillthemwithrandomdata.refill_buffersIfthisoptionisgiven,fiowillrefilltheIObuffersoneverysubmit.Thedefaultistoonlyfillitatinittimeandreusethatdata.Onlymakessenseifzero_buffersisn't specified, naturally. If data verification is enabled, refill_buffers is also automatically enabled. scramble_buffers=bool If refill_buffers is too costly and the target is using data deduplication, then setting this option will slightly modify the IO buffer contents to defeat normal de-dupe attempts. This is not enough to defeat more clever block compression attempts, but it will stop naive dedupe of blocks. Default: true. buffer_compress_percentage=int If this is set, then fio will attempt to provide IO buffer content (on WRITEs) that compress to the specified level. Fio does this by providing a mix of random data and a fixed pattern. The fixed pattern is either zeroes, or the pattern specified by buffer_pattern. If the pattern option is used, it might skew the compression ratio slightly. Note that this is per block size unit, for file/disk wide compression level that matches this setting, you'llalsowanttosetrefill_buffers.buffer_compress_chunk=intSeebuffer_compress_percentage.Thissettingallowsfiotomanagehowbigtherangesofrandomdataandzeroeddatais.Withoutthisset,fiowillprovidebuffer_compress_percentageofblocksizerandomdata,followedbytheremainingzeroed.Withthissettosomechunksizesmallerthantheblocksize,fiocanalternaterandomandzeroeddatathroughouttheIObuffer.buffer_pattern=strIfset,fiowillfilltheiobufferswiththispattern.Ifnotset,thecontentsofiobuffersisdefinedbytheotheroptionsrelatedtobuffercontents.Thesettingcanbeanypatternofbytes,andcanbeprefixedwith0xforhexvalues.Itmayalsobeastring,wherethestringmustthenbewrappedwith"",e.g.:buffer_pattern="abcd"orbuffer_pattern=-12orbuffer_pattern=0xdeadfaceAlsoyoucancombineeverythingtogetherinanyorder:buffer_pattern=0xdeadface"abcd"-12dedupe_percentage=intIfset,fiowillgeneratethispercentageofidenticalbufferswhenwriting.Thesebufferswillbenaturallydedupable.Thecontentsofthebuffersdependonwhatotherbuffercompressionsettingshavebeenset.It's possible to have the individual buffers either fully compressible, or not at all. This option only controls the distribution of unique buffers. nrfiles=int Number of files to use for this job. Defaults to 1. openfiles=int Number of files to keep open at the same time. Defaults to the same as nrfiles, can be set smaller to limit the number simultaneous opens. file_service_type=str Defines how fio decides which file from a job to service next. The following types are defined: random Just choose a file at random. roundrobin Round robin over open files. This is the default. sequential Finish one file before moving on to the next. Multiple files can still be open depending on 'openfiles'. The string can have a number appended, indicating how often to switch to a new file. So if option random:4 is given, fio will switch to a new random file after 4 ios have been issued. ioengine=str Defines how the job issues io to the file. The following types are defined: sync Basic read(2) or write(2) io. lseek(2) is used to position the io location. psync Basic pread(2) or pwrite(2) io. vsync Basic readv(2) or writev(2) IO. psyncv Basic preadv(2) or pwritev(2) IO. libaio Linux native asynchronous io. Note that Linux may only support queued behaviour with non-buffered IO (set direct=1 or buffered=0). This engine defines engine specific options. posixaio glibc posix asynchronous io. solarisaio Solaris native asynchronous io. windowsaio Windows native asynchronous io. mmap File is memory mapped and data copied to/from 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 async. sg SCSI generic sg v3 io. May either be synchronous using the SG_IO ioctl, or if the target is an sg character device we use read(2) and write(2) for asynchronous io. null Doesn'ttransferanydata,justpretendsto.Thisismainlyusedtoexercisefioitselfandfordebugging/testingpurposes.netTransferoverthenetworktogivenhost:port.Dependingontheprotocolused,thehostname,port,listenandfilenameoptionsareusedtospecifywhatsortofconnectiontomake,whiletheprotocoloptiondetermineswhichprotocolwillbeused.Thisenginedefinesenginespecificoptions.netspliceLikenet,butusessplice/vmsplicetomapdataandsend/receive.Thisenginedefinesenginespecificoptions.cpuioDoesn't transfer any data, but burns CPU cycles according to the cpuload= and cpucycle= options. Setting cpuload=85 will cause that job to do nothing but burn 85% of the CPU. In case of SMP machines, use numjobs=<no_of_cpu> to get desired CPU usage, as the cpuload only loads a single CPU at the desired rate. guasi The GUASI IO engine is the Generic Userspace Asyncronous Syscall Interface approach to async IO. See http://www.xmailserver.org/guasi-lib.html for more info on GUASI.

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档