tpcc-mysql压测
压测环境准备
https://github.com/Percona-Lab/tpcc-mysql
#1)安装
[root@per src]# yum install gcc-c++ -y
[root@per src]# yum install mysql-devel
[root@per ~]# unzip tpcc-mysql-master.zip
[root@per ~]# mv tpcc-mysql-master /usr/local/
加载数据
mysql> create database tpcc_test;
Query OK, 1 row affected (0.09 sec)
mysql> use tpcc_test;
Database changed
mysql> source /usr/local/tpcc-mysql-master/create_table.sql;
Query OK, 0 rows affected (0.00 sec)
- tpcc-mysql的业务逻辑及其相关的几个表作用如下:
- New-order:新订单,一次完整的订单事务,几乎涉及到全部表
- Payment:支付,主要对应 orders、history 表
- Order-Status:订单状态,主要对应 orders、order_line 表
- Delivery:发货,主要对应 order_line 表
- Stock-Level:库存,主要对应 stock 表
- 其他说明:
- 客户:主要对应 customer 表
- 地区:主要对应 district 表
- 商品:主要对应 item 表
- 仓库:主要对应 warehouse 表
数据插入成功之后,然后添加索引【注意一定要先插入数据再添加索引,若先创建索引,则数据插入的会更慢】
[root@per tpcc-mysql-master]# ./tpcc_load -h 192.168.56.222 -P 3306 -d tpcc_test -u root -p123456 -w 10
#这个过程有点慢 ,1个warehouse对应10个地区,1地区对应3000的用户
mysql> select count() from warehouse;
±---------+
| count() |
±---------+
| 10 |
±---------+
1 row in set (0.00 sec)
mysql> select count() from district;
±---------+
| count() |
±---------+
| 100 |
±---------+
1 row in set (0.00 sec)
mysql> select count() from customer;
±---------+
| count() |
±---------+
| 300000 |
±---------+
1 row in set (0.11 sec)
mysql> source /usr/local/tpcc-mysql-master/add_fkey_idx.sql;
压测
数据插入,索引创建之后,开始测试数据。
[root@per tpcc-mysql-master]# ./tpcc_start –help
- -w 指定仓库数量
- -c 指定并发连接数
- -r 指定开始测试前进行warmup的时间,进行预热后,测试效果更好
- -l 指定测试持续时间
- -i 指定生成报告间隔时长
- -f 指定生成的报告文件名
真实测试场景中,建议预热时间不小于5分钟,持续压测时长不小于30分钟,否则测试数据可能不具参考意义。
[root@per tpcc-mysql-master]# ./tpcc_start -h 192.168.56.222 -P 3306 -d tpcc_test -u root -p 123456 -w 10 -c 128 -r 300 -l 300
*** ###easy### TPC-C Load Generator ***
option h with value ‘192.168.56.222’
option P with value ‘3306’
option d with value ‘tpcc_test’
option u with value ‘root’
option p with value ‘123456’
option w with value ‘10’
option c with value ‘128’
option r with value ‘5’
option l with value ‘30’
RAMP-UP TIME.(5 sec.) 预热结束
MEASURING START.
10, trx: 686, 95%: 1190.065, 99%: 1613.066, max_rt: 1862.386, 656|3436.472, 68|498.198, 65|2355.379, 68|3059.944
20, trx: 691, 95%: 1050.099, 99%: 1436.189, max_rt: 1744.717, 701|3729.755, 69|431.776, 72|2056.045, 66|3294.633
30, trx: 699, 95%: 921.615, 99%: 1490.053, max_rt: 1997.025, 686|3486.649, 71|263.358, 72|1828.585, 74|2419.366
分为6项, 依次为操作时间(秒)、创建订单、订单支付、查询订单、发货以及查询库存
STOPPING THREADS…
[0] sc:0 lt:2076 rt:0 fl:0 avg_rt: 692.4 (5) [1] sc:12 lt:2031 rt:0 fl:0 avg_rt: 1097.7 (5) [2] sc:28 lt:180 rt:0 fl:0 avg_rt: 89.8 (5) [3] sc:0 lt:209 rt:0 fl:0 avg_rt: 1551.0 (80) [4] sc:0 lt:208 rt:0 fl:0 avg_rt: 2006.6 (20) in 30 sec.
<Raw Results2(sum ver.)>
[0] sc:0 lt:2076 rt:0 fl:0
[1] sc:12 lt:2031 rt:0 fl:0
[2] sc:28 lt:180 rt:0 fl:0
[3] sc:0 lt:209 rt:0 fl:0
[4] sc:0 lt:208 rt:0 fl:0
4152.000 TpmC 每分钟能够处理的订单数量
tpcc-mysql压测相关推荐
- sysbench 1.0.6 mysql_sysbench mysql压测
安装 https://github.com/akopytov/sysbench#build-and-install github地址如上: 1.将安装包上传至/usr/local下 下载地址:http ...
- Mysql压测工具mysqlslap 讲解
参考文献: http://dev.mysql.com/doc/refman/5.1/en/mysqlslap.html http://www.ningoo.net/html/2008/mysql_lo ...
- MySQL压测工具--sysbench
SysBench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况.它主要包括以下几种方式的测试: 1.cpu性能 2.磁盘io性能 3.调度程序性能 ...
- mysql 压测结果_用mysqlslap压测mysql
参考文献:http://my.oschina.net/costaxu/blog/108568 上面网友详细的列举了用mysqlslap对mysql的压力测试结果,我也照葫芦画瓢试了一次,结果如下: 以 ...
- [python运维] 使用python3制作一个mysql压测小工具!
0x01 argparse模块 argparse是Python 标准库中推荐的命令行解析模块,他可以实现给出参数提示和接收用户输入的参数,类似linux的命令行功能: [root@yun ...
- 数据库性能压测之TPC-C基准测试
如果大家平时对数据库新闻比较关注的话,相信对上面的图片可能会有些印象,去年10月有个震惊业界的新闻是蚂蚁金服OceanBase数据库刷新了TPC-C纪录,打破了尘封已久的记录问鼎第一名. 这对国产数据 ...
- mysql为什么要压测_mysql集群压测的详细介绍
本篇文章给大家带来的内容是关于mysql集群压测的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. mysql压测 mysql自带就有一个叫mysqlslap的压力测试工具,通 ...
- mysql笔记(锁、事务、性能优化、压测结果)
Mysql 该笔记,主要根据kkb课程并结合网上资料和自己的理解而形成. 一.Mysql架构 1.1 逻辑架构 这是从网上copy过来的图.网上一些教程会把mysql也进行分层. 连接层:Connec ...
- 压测瓶颈在mysql_MySQL的性能基线收集及压力测试
建立基线的作用: 计算机科学中,基线是项目储存库中每个工件版本在特定时期的一个"快照". 比如我们现在有并发事物,那么在某时刻发起一个事物会产生当前数据的快照,那么这个快照就相当理 ...
- easy_runner一个简单的压测程序
这次再公开一个小工具 easy_runner 一个来用做压测的小工具 我主要用来做MySQL压测的时候,直接压业务端用的. 程序很简单,总共不到400来行,推荐程序员自己压测用,比LoadRunner ...
最新文章
- eclipse系列: Cannot change version of project facet Dynamic web的解决方法
- 算法-----礼物的最大价值
- Nodejs开源项目推荐
- python循环输入若干成绩_完美解决在oj中Python的循环输入问题
- 自定义函数strcomp(),实现两个字符串的比较
- ASP.NET Core使用功能开关控制路由访问
- YBTOJ:公共子串(KMP)
- cnetos7安装zabbix3.0.3安装手册
- LwIP Application Developers Manual9---LwIP and multithreading
- C语言中的strncmp
- winform窗体对象 单例模式与泛型结合
- keras + tensorflow —— 使用预训练模型
- C++之---友元函数
- vim 使用、设置笔记
- 【路径规划】基于matlab灰狼算法求解机器人栅格地图路径规划问题【含Matlab源码 1761期】
- Python 快速搭建文件上传服务器
- 全机房最蒟蒻的讲堂_第二期_论qwq和颜文字
- python分割图片数字_python实现图片中文字分割效果
- 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(图像处理)
- 小米10 MIUI11 安卓10安装面具获取root权限
热门文章
- 2022年PMP报考条件是什么?
- 哲学级愤青---罗永浩的简历
- java整合WxJava框架,开发微信公众号
- python极客战记_极客战记
- 如何解决“sxs.dll错误”问题,快速修复sxs.dll错误的方法
- html中改变一张图片的颜色,简单的 css 改变图片颜色
- 学历、长相、家境普通的人,未来的发展方向是什么?00后的职业规划都已经整得明明白白......
- 盒子嵌套盒子行高问题
- 第二周c++总结:)
- cobbler(批量装机工具)