压测环境准备

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)

  1. tpcc-mysql的业务逻辑及其相关的几个表作用如下:
  2. New-order:新订单,一次完整的订单事务,几乎涉及到全部表
  3. Payment:支付,主要对应 orders、history 表
  4. Order-Status:订单状态,主要对应 orders、order_line 表
  5. Delivery:发货,主要对应 order_line 表
  6. Stock-Level:库存,主要对应 stock 表
  7. 其他说明:
  8. 客户:主要对应 customer 表
  9. 地区:主要对应 district 表
  10. 商品:主要对应 item 表
  11. 仓库:主要对应 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

  1. -w 指定仓库数量
  2. -c 指定并发连接数
  3. -r 指定开始测试前进行warmup的时间,进行预热后,测试效果更好
  4. -l 指定测试持续时间
  5. -i 指定生成报告间隔时长
  6. -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压测相关推荐

  1. sysbench 1.0.6 mysql_sysbench mysql压测

    安装 https://github.com/akopytov/sysbench#build-and-install github地址如上: 1.将安装包上传至/usr/local下 下载地址:http ...

  2. Mysql压测工具mysqlslap 讲解

    参考文献: http://dev.mysql.com/doc/refman/5.1/en/mysqlslap.html http://www.ningoo.net/html/2008/mysql_lo ...

  3. MySQL压测工具--sysbench

    SysBench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况.它主要包括以下几种方式的测试: 1.cpu性能  2.磁盘io性能  3.调度程序性能  ...

  4. mysql 压测结果_用mysqlslap压测mysql

    参考文献:http://my.oschina.net/costaxu/blog/108568 上面网友详细的列举了用mysqlslap对mysql的压力测试结果,我也照葫芦画瓢试了一次,结果如下: 以 ...

  5. [python运维] 使用python3制作一个mysql压测小工具!

    ​​0x01 argparse模块​​ ​ argparse是Python 标准库中推荐的命令行解析模块,他可以实现给出参数提示和接收用户输入的参数,类似linux的命令行功能:​ [root@yun ...

  6. 数据库性能压测之TPC-C基准测试

    如果大家平时对数据库新闻比较关注的话,相信对上面的图片可能会有些印象,去年10月有个震惊业界的新闻是蚂蚁金服OceanBase数据库刷新了TPC-C纪录,打破了尘封已久的记录问鼎第一名. 这对国产数据 ...

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

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

  8. mysql笔记(锁、事务、性能优化、压测结果)

    Mysql 该笔记,主要根据kkb课程并结合网上资料和自己的理解而形成. 一.Mysql架构 1.1 逻辑架构 这是从网上copy过来的图.网上一些教程会把mysql也进行分层. 连接层:Connec ...

  9. 压测瓶颈在mysql_MySQL的性能基线收集及压力测试

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

  10. easy_runner一个简单的压测程序

    这次再公开一个小工具 easy_runner 一个来用做压测的小工具 我主要用来做MySQL压测的时候,直接压业务端用的. 程序很简单,总共不到400来行,推荐程序员自己压测用,比LoadRunner ...

最新文章

  1. eclipse系列: Cannot change version of project facet Dynamic web的解决方法
  2. 算法-----礼物的最大价值
  3. Nodejs开源项目推荐
  4. python循环输入若干成绩_完美解决在oj中Python的循环输入问题
  5. 自定义函数strcomp(),实现两个字符串的比较
  6. ASP.NET Core使用功能开关控制路由访问
  7. YBTOJ:公共子串(KMP)
  8. cnetos7安装zabbix3.0.3安装手册
  9. LwIP Application Developers Manual9---LwIP and multithreading
  10. C语言中的strncmp
  11. winform窗体对象 单例模式与泛型结合
  12. keras + tensorflow —— 使用预训练模型
  13. C++之---友元函数
  14. vim 使用、设置笔记
  15. 【路径规划】基于matlab灰狼算法求解机器人栅格地图路径规划问题【含Matlab源码 1761期】
  16. Python 快速搭建文件上传服务器
  17. 全机房最蒟蒻的讲堂_第二期_论qwq和颜文字
  18. python分割图片数字_python实现图片中文字分割效果
  19. 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(图像处理)
  20. 小米10 MIUI11 安卓10安装面具获取root权限

热门文章

  1. 2022年PMP报考条件是什么?
  2. 哲学级愤青---罗永浩的简历
  3. java整合WxJava框架,开发微信公众号
  4. python极客战记_极客战记
  5. 如何解决“sxs.dll错误”问题,快速修复sxs.dll错误的方法
  6. html中改变一张图片的颜色,简单的 css 改变图片颜色
  7. 学历、长相、家境普通的人,未来的发展方向是什么?00后的职业规划都已经整得明明白白......
  8. 盒子嵌套盒子行高问题
  9. 第二周c++总结:)
  10. cobbler(批量装机工具)