FIO参数

filename=/export/1.txt 支持文件系统或者裸设备,-filename=/dev/sda2或-filename=/dev/sdb

direct=1测试过程绕过机器自带的buffer,使测试结果更真实

rw=randwread 测试随机读的I/O

rw=randwrite 测试随机写的I/O

rw=randrw 测试随机混合写和读的I/O

rw=read 测试顺序读的I/O

rw=write 测试顺序写的I/O

rw=rw 测试顺序混合写和读的I/O

bs=4k 单次io的块文件大小为4k

bsrange=512-2048同上,提定数据块的大小范围

size=5g 本次的测试文件大小为5g,以每次4k的io进行测试

numjobs=30本次的测试线程为30

runtime=1000测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止

ioengine=psync io引擎使用pync方式,如果要使用libaio引擎,需要yum install libaio-devel包

rwmixwrite=30 在混合读写的模式下,写占30%group_reporting 关于显示结果的,汇总每个进程的信息

lockmem=1g 只使用1g内存进行测试

zero_buffers 用0初始化系统buffer

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

ioengine参数

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.

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

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.

net : Transfer over the network. filename must be set appropriately to `host/port’ regardless of data direction. If receiving,only the port argument is used.

netsplice: Like net, but uses splice(2) and vmsplice(2) to map data and send/receive.

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

测试结果解读

4k随机读写,70%读+30%写,30个并发

fio -filename=/export/1.txt -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=4k -size=10G -numjobs=30 -runtime=60 -group_reporting -name=randrw_70read_4k

输出结果:

Jobs: 30 (f=30): [mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm] [100.0% done] [99648K/42236K/0K /s] [24.1K/10.6K/0iops] [eta 00m:00s]

randrw_70read_4k: (groupid=0, jobs=30): err= 0: pid=4183: Sun May 5 14:56:16 2019read : io=5873.2MB, bw=100232KB/s, iops=25057 , runt=60002msec

clat (usec): min=129 , max=17247 , avg=872.95, stdev=884.86lat (usec): min=129 , max=17247 , avg=873.04, stdev=884.86clat percentiles (usec):| 1.00th=[ 141], 5.00th=[ 149], 10.00th=[ 157], 20.00th=[ 175],| 30.00th=[ 193], 40.00th=[ 788], 50.00th=[ 988], 60.00th=[ 1096],| 70.00th=[ 1192], 80.00th=[ 1304], 90.00th=[ 1448], 95.00th=[ 1576],| 99.00th=[ 2640], 99.50th=[ 8512], 99.90th=[ 9152], 99.95th=[ 9280],| 99.99th=[10048]

bw (KB/s) : min= 2680, max= 3992, per=3.34%, avg=3342.81, stdev=180.17write: io=2519.1MB, bw=43005KB/s, iops=10751 , runt=60002msec

clat (usec): min=45 , max=21382 , avg=750.66, stdev=874.94lat (usec): min=45 , max=21382 , avg=750.85, stdev=874.94clat percentiles (usec):| 1.00th=[ 52], 5.00th=[ 57], 10.00th=[ 60], 20.00th=[ 68],| 30.00th=[ 79], 40.00th=[ 644], 50.00th=[ 868], 60.00th=[ 988],| 70.00th=[ 1080], 80.00th=[ 1192], 90.00th=[ 1320], 95.00th=[ 1448],| 99.00th=[ 1816], 99.50th=[ 8384], 99.90th=[ 9024], 99.95th=[ 9280],| 99.99th=[ 9920]

bw (KB/s) : min= 1016, max= 2064, per=3.34%, avg=1434.25, stdev=131.77lat (usec) :50=0.06%, 100=11.02%, 250=26.21%, 500=0.67%, 750=2.40%lat (usec) :1000=13.91%lat (msec) :2=44.51%, 4=0.41%, 10=0.79%, 20=0.01%, 50=0.01%cpu : usr=0.19%, sys=2.19%, ctx=4148485, majf=0, minf=18446744073708663675IO depths :1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%submit :0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%complete :0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%issued : total=r=1503524/w=645100/d=0, short=r=0/w=0/d=0Run status group0(all jobs):

READ: io=5873.2MB, aggrb=100231KB/s, minb=100231KB/s, maxb=100231KB/s, mint=60002msec, maxt=60002msec

WRITE: io=2519.1MB, aggrb=43005KB/s, minb=43005KB/s, maxb=43005KB/s, mint=60002msec, maxt=60002msec

Disk stats (read/write):

sda: ios=1499788/643481, merge=0/1, ticks=271811/40234, in_queue=311058, util=98.88%

缩写解释:

io=执行了多少M的IO

bw=平均IO带宽

iops=IOPS

runt=线程运行时间

slat=提交延迟

clat=完成延迟

lat=响应时间

bw=带宽

cpu=利用率

IO depths=io队列

IO submit=单个IO提交要提交的IO数

IO complete=Like the above submit number, but forcompletions instead.

IO issued=The number of read/write requests issued, and how many of them were short.

IO latencies=IO完延迟的分布

io=总共执行了多少size的IO

aggrb=group总带宽

minb=最小.平均带宽.

maxb=最大平均带宽.

mint=group中线程的最短运行时间.

maxt=group中线程的最长运行时间.

ios=所有group总共执行的IO数.

merge=总共发生的IO合并数.

ticks=Number of ticks we kept the disk busy.

io_queue=花费在队列上的总共时间.

util=磁盘利用率

在8块800GB的SSD做RAID 10的存储上使用psync引擎进行测试,测试结果:

4k+70%随机读+30%随机写: 24.1K+10.6K

4k+100%随机读: 127K

4k+100%随机写: 16.2K

1k+70%随机读+30%随机写: 23.4K+10.4K

1k+100%随机读: 131K

1k+100%随机写: 13.8K

上面跑的时间较短,测试误差较大!

抄自:

https://www.cnblogs.com/raykuan/p/6914748.html

http://blog.yufeng.info/archives/1497

http://blog.yufeng.info/archives/677

mysql fio测试_MySQL Hardware--FIO压测相关推荐

  1. mysql为什么要压测_mysql集群压测的详细介绍

    本篇文章给大家带来的内容是关于mysql集群压测的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. mysql压测 mysql自带就有一个叫mysqlslap的压力测试工具,通 ...

  2. php mysql 压力测试_MySQL的性能基线收集及压力测试

    建立基线的作用: 计算机科学中,基线是项目储存库中每个工件版本在特定时期的一个"快照". 比如我们现在有并发事物,那么在某时刻发起一个事物会产生当前数据的快照,那么这个快照就相当理 ...

  3. Kafka压力测试(写入MQ消息压测和消费MQ消息压测)

    1.测试目的 本次性能测试在正式环境下单台服务器上Kafka处理MQ消息能力进行压力测试.测试包括对Kafka写入MQ消息和消费MQ消息进行压力测试,根据10w.100w和1000w级别的消息处理结果 ...

  4. 【Jmeter】分布式测试--单机均衡负载压测

    目录 前言 分布式测试前提 分布式测试流程 构建基础镜像 准备文件 Dockerfile(生成基础镜像) entrypoint.sh(容器启动运行脚本) install_plugin_manager. ...

  5. python接口压测1000并发_测试工具:黑羽压测

    前言 很多朋友对性能测试有种深深的误解:认为 只要学会 使用一款 性能测试工具,点点界面,配配数据,就能做好性能测试了. 不是这样的!! 性能测试 通常 要真正做好 很不容易. 它需要测试人员: 有产 ...

  6. JMeter压力测试:单接口压测和多场景混合并发

    单接口并发压测 首先介绍下单接口压测,使用Jmeter的线程组进行设置: 1.线程数:并发用户数 2.Ramp-Up Period(in seconds):运行的时间 3.循环次数:线程运行的次数 一 ...

  7. mysql sql测试_MySQL语句测试——数据查询

    MySQL语句测试--数据查询 3.4 数据查询 一.单表查询 /*1.选择表中的若干列,各个列的先后顺序和语句中列名从左到右的顺序一致 select 目标表达式 from 表名; */ /*(1)s ...

  8. mysql 索引 测试_mysql的索引测试

    Mysql高级 mysql索引测试 一.生成测试数据 1.创建测试表 /*创建t_user表用于数据测试*/ DROP TABLE IF EXISTS t_user; CREATE TABLE `t_ ...

  9. mysql fio测试_Linux下 fio磁盘压测笔记

    专业的测试磁盘IO性能的软件: 1.fio [推荐使用] 2.iometer fio的使用: 参考博客: http://lilinji.blog.51cto.com/5441000/1569623 h ...

最新文章

  1. Nginx多站点设置
  2. python3(十)pickle库
  3. 流利说CFO辞职 公司上市一年多股价跌去一半
  4. 60-127-040-源码-connector-Flink 1.9.0 with Hive
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的大学生兼职网站
  6. hibernate批量上传
  7. Java架构师具备的特点有哪些?
  8. docker日志引擎说明
  9. 常用脚本语言Perl,Python,Ruby,Javascript一 Perl,Python,Ruby,Javascript
  10. 基于SSH的宠物管理系统
  11. 关于三维扫描仪,你需要知道这些
  12. 如何免费将office文档转成PDF的几种方法
  13. 基于handsome主题的一些美化修改
  14. Path 贝塞尔曲线 练习 Demo
  15. Lodash的两种安装方式(npm安装/CDN)以及简单使用
  16. html标签中写onclick,HTML a 标签添加 onclick()事件的几种方式
  17. 微信小程序添加插屏广告并设置显示频率(一天一次)
  18. egg+vue+mongodb实践开发在线文档管理平台——水墨文档
  19. python3 币种汇率计算
  20. YOLO 超详细入门02 v2 (含代码及原文)

热门文章

  1. 剑指offer(04)重建二叉树
  2. linux终端默认密码是多少,linux基础懂多少?两个小问题考考你
  3. cad2016中选择全图字体怎么操作_DNF手游快速升级攻略 DNF手游怎么快速升级
  4. shell 数组里追加数值_shell编程之数组及变量的多功能用法
  5. python最新排名_最新编程语言排名:JS位列第一 Python超Java
  6. 扒几个 3D 模型备用
  7. C++11使用互斥量保护共享数据
  8. C++11中线程所有权转移分析
  9. centos7搭建Linux集群,CentOS 7下Kafka集群安装
  10. linux安装mysql5.7.18_Linux下安装mysql5.7.18版本步骤