mysql fio测试_MySQL Hardware--FIO压测
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压测相关推荐
- mysql为什么要压测_mysql集群压测的详细介绍
本篇文章给大家带来的内容是关于mysql集群压测的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. mysql压测 mysql自带就有一个叫mysqlslap的压力测试工具,通 ...
- php mysql 压力测试_MySQL的性能基线收集及压力测试
建立基线的作用: 计算机科学中,基线是项目储存库中每个工件版本在特定时期的一个"快照". 比如我们现在有并发事物,那么在某时刻发起一个事物会产生当前数据的快照,那么这个快照就相当理 ...
- Kafka压力测试(写入MQ消息压测和消费MQ消息压测)
1.测试目的 本次性能测试在正式环境下单台服务器上Kafka处理MQ消息能力进行压力测试.测试包括对Kafka写入MQ消息和消费MQ消息进行压力测试,根据10w.100w和1000w级别的消息处理结果 ...
- 【Jmeter】分布式测试--单机均衡负载压测
目录 前言 分布式测试前提 分布式测试流程 构建基础镜像 准备文件 Dockerfile(生成基础镜像) entrypoint.sh(容器启动运行脚本) install_plugin_manager. ...
- python接口压测1000并发_测试工具:黑羽压测
前言 很多朋友对性能测试有种深深的误解:认为 只要学会 使用一款 性能测试工具,点点界面,配配数据,就能做好性能测试了. 不是这样的!! 性能测试 通常 要真正做好 很不容易. 它需要测试人员: 有产 ...
- JMeter压力测试:单接口压测和多场景混合并发
单接口并发压测 首先介绍下单接口压测,使用Jmeter的线程组进行设置: 1.线程数:并发用户数 2.Ramp-Up Period(in seconds):运行的时间 3.循环次数:线程运行的次数 一 ...
- mysql sql测试_MySQL语句测试——数据查询
MySQL语句测试--数据查询 3.4 数据查询 一.单表查询 /*1.选择表中的若干列,各个列的先后顺序和语句中列名从左到右的顺序一致 select 目标表达式 from 表名; */ /*(1)s ...
- mysql 索引 测试_mysql的索引测试
Mysql高级 mysql索引测试 一.生成测试数据 1.创建测试表 /*创建t_user表用于数据测试*/ DROP TABLE IF EXISTS t_user; CREATE TABLE `t_ ...
- mysql fio测试_Linux下 fio磁盘压测笔记
专业的测试磁盘IO性能的软件: 1.fio [推荐使用] 2.iometer fio的使用: 参考博客: http://lilinji.blog.51cto.com/5441000/1569623 h ...
最新文章
- 薏米红豆粥的功效和实践演示
- 网站网页编写需要注意哪些问题?
- java mqtt客户端_MQTT消息队列遥测传输
- 输入输出(Input and Output)
- Process 'command '/usr/lib/jvm/java-11-openjdk-amd64/bin/java'' finished with non-zero exit value 1
- python编写加密程序_用Python实现一个简单的加密程序
- npm和package.json那些不为常人所知的小秘密
- RPC和MQ对比及其适用/不适用场合
- mysql5.5.53安装教程_mysql5.5.28安装教程 超详细!
- Fortran程序转换到c程序
- 怎样能看懂matlab中的代码,初学者怎样能看懂代码
- IDEA格式化SQL代码
- Idea 远程调试服务器
- ssh关闭终端切断SSH连接
- 启动mysql错误解决方案
- PHP将商品详情中的尺码表重新进行数据整合并翻译
- 【中学】判断三角形的形状
- win7关机一直卡在正在关机
- simulink-他励直流电动机的直接启动仿真
- 玩玩小程序:使用 WebApi 交互打造原生的微信小程序 - 图灵小书架
热门文章
- linux prel安装_Linux下Perl的安装(转)
- mapper里面select id 后面一直红名_YTG晨晨改ID“进厂找班上了”,如此自嘲,心态还挺好...
- java数据段 静态区_linux进程的堆栈空间_代码段(指令,只读)、数据段(静态变量,全局变量)、堆栈段(局部变量)、栈【转】...
- python保存运行结果下次使用_将python运行结果保存至本地文件中的示例讲解
- QFontDatabase: Cannot find font directory
- osg中实现HUDAxis功能
- Linux 修改密码
- 文件、目录——Linux基本命令(5)
- PHP使用header方式实现文件下载
- 文件查找-locate find 学习笔记