sysbench mysql oltp_sysbench OLTP基准测试
1、sysbench参数
# 通过参数
--num-threads=N 创建测试线程的数目。默认为1.
--max-requests=N 请求的最大数目。默认为10000,0代表不限制。
--max-time=N 最大执行时间,单位是s。默认是0,不限制。
--forced-shutdown=STRING 超过max-time强制中断。默认是off。]
--thread-stack-size=SIZE 每个线程的堆栈大小。默认是32K。
--init-rng=[on|off] 在测试开始时是否初始化随机数发生器。默认是off。
--test=STRING 指定测试项目名称。
--debug=[on|off] 是否显示更多的调试信息。默认是off。
--validate=[on|off] 在可能情况下执行验证检查。默认是off。
--num-threads=8 表示发起 8个并发连接
--oltp-read-only=off 表示不要进行只读测试,也就是会采用读写混合模式测试
--report-interval=10 表示每10秒输出一次测试进度报告
--rand-type=uniform 表示随机类型为固定模式,其他几个可选随机模式:uniform(固定),gaussian(高斯),special(特定的),pareto(帕累托)
--max-time=120 表示最大执行时长为 120秒
--max-requests=0 表示总请求数为 0,因为上面已经定义了总执行时长,所以总请求数可以设定为 0;也可以只设定总请求数,不设定最大执行时长
--percentile=99 表示设定采样比例,默认是 95%,即丢弃1%的长请求,在剩余的99%里取最大值
2、OLTP压测
1、创建数据表
#创建数据库
mysqladmin create sbtest
sysbench --test=/root/sysbench/sysbench/sysbench/tests/db/oltp.lua --mysql-user=root --mysql-host=localhost --mysql-socket=/tmp/mysql.sock --mysql-password=123456 --mysql-table-engine=innodb --oltp-table-size=10000000 prepare
#5.0版本开始使用 --test=/root/sysbench/sysbench/sysbench/tests/db/oltp.lua
#如果在本机,也可以使用 –mysql-socket 指定 socket 文件来连接。加载测试数据时长视数据量而定,若过程比较久需要#稍加耐心等待。
#真实测试场景中,数据表建议不低于10个,单表数据量不低于500万行,当然了,要视服务器硬件配置而定。如果是配备了SSD或者PCIE SSD这种高IOPS设备的话,则建议单表数据量最少不低于1亿行。
2、压测
sysbench --mysql-db=sbtest --max-requests=0 --test=/root/sysbench/sysbench/sysbench/tests/db/oltp.lua --mysql-engine-trx=yes --mysql-table-engine=innodb --oltp-table-size=10000000 --db-ps-mode=disable --mysql-user=root --mysql-host=localhost --mysql-socket=/tmp/mysql.sock --mysql-password=123456 --num-threads=16 --max-time=600 run
#压测1个小时读写,16线程
#使用16个线程开始测试,只读模式。
#sysbench --mysql-db=sbtest --max-requests=0 --test=/root/sysbench/sysbench/sysbench/tests/db/oltp.lua --mysql-engine-trx=yes --mysql-table-engine=innodb --oltp-table-size=10000000 --db-ps-mode=disable --mysql-user=root --mysql-host=localhost --mysql-socket=/tmp/mysql.sock --oltp-read-only --mysql-password=123456 --num-threads=16 --max-time=60 run
即:模拟 对10个表并发OLTP测试,每个表1000万行记录,持续压测时间为 1小时。
真实测试场景中,建议持续压测时长不小于30分钟,否则测试数据可能不具参考意义。
3、压测结果
OLTP test statistics:
queries performed:
read: 170996 -- 读总数
write: 48856 -- 写总数
other: 24428 -- 其他操作总数(SELECT、INSERT、UPDATE、DELETE之外的操作,例如COMMIT等)
total: 244280
transactions: 12214 (203.47 per sec.) 总事务数(每秒事务数)
read/write requests: 219852 (3662.51 per sec.) 读写总数(每秒读写次数)
other operations: 24428 (406.95 per sec.) 其他操作总数(每秒其他操作次数)
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
General statistics:
total time: 60.0276s
total number of events: 12214 - 共发生多少事务数
total time taken by event execution: 959.8838s 所有事务耗时相加(不考虑并行因素)
response time:
min: 8.07ms -- 最小耗时
avg: 78.59ms -- 平均耗时
max: 750.64ms -- 最长耗时
approx. 95 percentile: 141.56ms -- 超过99%平均耗时
Threads fairness:
events (avg/stddev): 763.3750/7.61
execution time (avg/stddev): 59.9927/0.02
4、清理数据
#清理测试的残留信息
sysbench --mysql-db=sbtest --test=/root/sysbench/sysbench/sysbench/tests/db/oltp.lua --oltp-table-size=1000000 --mysql-user=root --mysql-host=localhost --mysql-socket=/tmp/mysql.sock --mysql-password=123456 cleanup
5、参考文章
sysbench mysql oltp_sysbench OLTP基准测试相关推荐
- sysbench mysql oltp_用sysbench进行数据库OLTP基准测试
基于TPC-C的OLTP基准测试,对比Mysql和PostgreSQL的性能 一.什么是TPC-C和tpmC 1.TPC-C TPC-C是一种旨在衡量联机事务处理(OLTP)系统性能与可伸缩性的行业标 ...
- sysbench mysql oltp_sysbench测试mysql oltp
以前在做mysql压力测试的时候用的是jmeter,jmeter配置有点烦,最近尝试用sysbench来进行mysql的压力测试 下载最新版的sysbench cd /usr/local/src wg ...
- sysbench OLTP基准测试
1.sysbench参数 # 通过参数--num-threads=N 创建测试线程的数目.默认为1.--max-requests=N 请求的最大数目.默认为10000,0代表不限制.--max-tim ...
- sysbench mysql图表_sysbench_mysql
ref 测试 当执行下面这个sysbench测试mysql的时候,你不知道的可能可能是: 这到底是在测试读写?还是 读? 答: 只读 --num-threads=12 啥意思? 答:就是说有12个线程 ...
- sysbench mysql测试_使用sysbench对MySQL进行测试
为什么要测试,测什么东西? 测试的种类非常多,测试的目的也非常多,我这里主要的目的就两个 测试MySQL的极限IO 对比不同版本MySQL,不同参数, 不同硬件,不同系统对MySQL的性能影响 为什么 ...
- sysbench mysql 结果_sysbench使用和结果说明
博客文章除注明转载外,均为原创.线程性能测试工具,作为dba的进行基准测试的必备经典工具,可以 执行以下测试 fileio - 文件 I/O测试 cpu - CPU系能测试 memory - 内存功能 ...
- 找出MySQL瓶颈的基准测试和剖析
有些时候,我们需要优化MySQL.那我们要对MySQL进行哪些改进呢?一条特殊的query?数据库模式?服务器硬件?唯一的办法是测量你的系统在做什么,在各种条件下测量它的性能.这就是我们下面要学习的. ...
- sysbench mysql 测试_sysbench MySQL测试例子
sysbench 测试 MySQL数据库 sysbench的oltp脚本 初始化数据 sysbench --test=oltp --num-threads=64 --max-requests=1024 ...
- sysbench mysql测试_用sysbench测试mysql和服务器性能
关于sysbench测试步骤 关于sysbench调试和安装请参考: http://blog.chinaunix.net/uid-20682026-id-3138466.html 下载地址: [roo ...
最新文章
- [转]C++和C#编写并且相互调用COM组件
- 软件系统架构师成长之路(一)
- AI自动P图:maskrcnn+inpaintting消除并修复指定区域图像
- (42)根据时钟关系分类时钟
- HackerOne《2020年黑客驱动安全报告》:中国白帽子的收入增长幅度最大
- PHP计算计算时间差,php中计算时间差的几种方法
- LVS负载均衡群集-NAT
- gfdgdfgdfg
- Java短信验证码-互亿无线
- xpose使用教程 hook java层的代码 (一 公司取名.apk)
- Google 2018 IO 大会要点
- MATLAB控制有效数字
- c语言程序评委评分,c语言编程:歌唱比赛评委评分系统
- 【AI隐私保护.论文笔记】CrypTFlow2: Practical 2-Party Secure Inference,CrypTFlow2:实用的安全两方推理
- 关于域名备案后的注意事项,血淋淋的教训
- 鹏哥C语言笔记分享P4
- BlueTooth: 蓝牙基带数据传输机理分析
- 直播疑难杂症排查(7)— 黑屏、花屏、闪屏问题
- ue4 蓝图引用actor
- base64编码 vba_vb图片转base64编码
热门文章
- 日本冲绳科学技术研究所启动新量子技术中心OQT
- 大学物理质点动力学思维导图_大学物理质点动力学思维导图
- 每天多笑笑,人就更健康
- spark在生产中是否要禁止掉BHJ(BroadcastHashJoin)
- ESP32点亮1602A屏幕
- Network Shell (Netsh)
- Matlab动图保存——GIF制作与视频制作
- 流媒体录播服务器系统,超然录播系统 MRS5000多媒体录播服务器--投影时代产品专区...
- 2020人工智能学习路线!内附完整自学书籍+知识图谱!
- 正则表达式_Pattern_Marcher_System类_Date\SimpleDateFormat