首先安装tpcc

官网地址:https://github.com/Percona-Lab/tpcc-mysql
[root@test3 src]# unzip tpcc-mysql-master.zip
[root@test3 src]# mv tpcc-mysql-master /usr/local/src/
[root@test3 local]# cd tpcc-mysql-master/
[root@test3 tpcc-mysql-master]# ls
add_fkey_idx.sql count.sql create_table.sql Dockerfile drop_cons.sql load_multi_schema.sh load.sh README.md schema2 scripts src
[root@test3 tpcc-mysql-master]# cd src/
[root@test3 src]# make #没有make install
[root@test3 src]# cd ..
[root@test3 tpcc-mysql-master]# ls
add_fkey_idx.sql count.sql create_table.sql Dockerfile drop_cons.sql load_multi_schema.sh load.sh README.md schema2 scripts src tpcc_load tpcc_start #编译之后生成了tpcc_load和tpcc_start命令

在进行测试之前,需要导入tpcc的数据。

创建数据库,然后导入tpcc的建表语句:

mysql> create database tpcc_test;
Query OK, 1 row affected (0.06 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)
......
mysql> show tables;
+---------------------+
| Tables_in_tpcc_test |
+---------------------+
| customer |
| district |
| history |
| item |
| new_orders |
| order_line |
| orders |
| stock |
| warehouse |
+---------------------+
9 rows in set (0.00 sec)

tpcc创建了九张表:

tpcc-mysql的业务逻辑及其相关的几个表作用如下:
New-Order:新订单,一次完整的订单事务,几乎涉及到全部表
Payment:支付,主要对应 orders、history 表
Order-Status:订单状态,主要对应 orders、order_line 表
Delivery:发货,主要对应 order_line 表
Stock-Level:库存,主要对应 stock 表 其他说明:
客户:主要对应 customer 表
地区:主要对应 district 表
商品:主要对应 item 表
仓库:主要对应 warehouse 表

首先加载数据:

./tpcc_load -h 10.0.102.214 -P  -d tpcc_test -u root -p  -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;
Query OK, rows affected (0.00 sec) Query OK, rows affected (0.00 sec) Query OK, rows affected (2.63 sec)
Records: Duplicates: Warnings: Query OK, rows affected (0.98 sec)
Records: Duplicates: Warnings:
......
Query OK, rows affected (0.01 sec) Query OK, rows affected (0.00 sec)

各个表的结构关系如图(使用MySQL workbench自动生成的er图)

数据插入,索引创建之后,开始测试数据。

[root@test3 tpcc-mysql-master]# ./tpcc_start --help
***************************************
*** ###easy### TPC-C Load Generator ***
***************************************
./tpcc_start: invalid option -- '-'
Usage: tpcc_start -h server_host -P port -d database_name -u mysql_user -p mysql_password -w warehouses -c connections -r warmup_time -l running_time -i report_interval -f report_file -t trx_file
-w 指定仓库数量
-c 指定并发连接数
-r 指定开始测试前进行warmup的时间,进行预热后,测试效果更好
-l 指定测试持续时间
-i 指定生成报告间隔时长
-f 指定生成的报告文件名

真实测试场景中,建议预热时间不小于5分钟,持续压测时长不小于30分钟,否则测试数据可能不具参考意义。

[root@test3 tpcc-mysql-master]# ./tpcc_start -h 10.0.102.214 -P  -d tpcc_test -u root -p  -w  -c  -r  -l
***************************************
*** ###easy### TPC-C Load Generator ***
***************************************
option h with value '10.0.102.214'
option P with value ''
option d with value 'tpcc_test'
option u with value 'root'
option p with value ''
option w with value ''
option c with value ''
option r with value ''
option l with value ''
<Parameters>
[server]: 10.0.102.214
[port]:
[DBname]: tpcc_test
[user]: root
[pass]:
[warehouse]:
[connection]:
[rampup]: (sec.)
[measure]: (sec.) RAMP-UP TIME.( sec.) #预热结束 MEASURING START. , trx: , %: 201.680, %: 381.106, max_rt: 1619.119, |3724.232, |229.157, |3278.305, |1335.471
, trx: , %: 157.736, %: 235.577, max_rt: 1499.332, |3527.383, |44.633, |2130.182, |343.886
, trx: , %: 166.968, %: 221.357, max_rt: 398.790, |1928.303, |66.903, |586.503, |374.860
, trx: , %: 172.350, %: 256.941, max_rt: 392.431, |2335.130, |75.140, |779.635, |403.248
, trx: , %: 184.524, %: 251.689, max_rt: 336.677, |1205.047, |35.061, |678.351, |413.731
, trx: , %: 184.358, %: 828.455, max_rt: 1187.092, |2113.244, |62.069, |1613.712, |337.856
, trx: , %: 175.632, %: 233.821, max_rt: 372.486, |1720.610, |69.966, |624.549, |397.743
, trx: , %: 177.588, %: 275.997, max_rt: 717.325, |1750.563, |50.437, |1046.998, |332.516
, trx: , %: 190.074, %: 244.413, max_rt: 404.727, |1602.446, |68.237, |812.026, |393.183
, trx: , %: 190.017, %: 291.625, max_rt: 483.963, |1657.739, |59.142, |771.332, |404.857
, trx: , %: 166.070, %: 222.753, max_rt: 321.543, |1610.591, |80.395, |650.804, |394.323
, trx: , %: 187.812, %: 552.392, max_rt: 817.886, |2443.558, |37.962, |1586.296, |406.044
, trx: , %: 170.299, %: 212.399, max_rt: 290.578, |1787.442, |58.585, |601.749, |379.250
, trx: , %: 178.600, %: 236.850, max_rt: 383.657, |1550.100, |75.059, |633.108, |471.181
, trx: , %: 185.133, %: 308.322, max_rt: 479.655, |1691.942, |38.844, |802.569, |449.930
, trx: , %: 172.660, %: 216.249, max_rt: 302.257, |1521.757, |62.614, |675.931, |435.944
, trx: , %: 164.290, %: 225.504, max_rt: 1306.804, |1745.858, |57.538, |610.941, |530.579
, trx: , %: 180.914, %: 251.463, max_rt: 1415.735, |2489.273, |30.965, |1915.949, |428.293
, trx: , %: 197.262, %: 399.086, max_rt: 556.640, |1319.926, |57.555, |977.416, |491.435
, trx: , %: 177.428, %: 217.612, max_rt: 341.156, |1357.371, |76.254, |655.950, |457.847 STOPPING THREADS................................................................................................................................ <Raw Results>
[] sc: lt: rt: fl: avg_rt: 148.6 ()
[] sc: lt: rt: fl: avg_rt: 604.9 ()
[] sc: lt: rt: fl: avg_rt: 6.6 ()
[] sc: lt: rt: fl: avg_rt: 683.6 ()
[] sc: lt: rt: fl: avg_rt: 272.2 ()
in sec. <Raw Results2(sum ver.)>
[] sc: lt: rt: fl:
[] sc: lt: rt: fl:
[] sc: lt: rt: fl:
[] sc: lt: rt: fl:
[] sc: lt: rt: fl: <Constraint Check> (all must be [OK])
[transaction percentage]
Payment: 43.47% (>=43.0%) [OK]
Order-Status: 4.35% (>= 4.0%) [OK]
Delivery: 4.35% (>= 4.0%) [OK]
Stock-Level: 4.35% (>= 4.0%) [OK]
[response time (at least % passed)]
New-Order: 0.00% [NG] *
Payment: 0.00% [NG] *
Order-Status: 82.96% [NG] *
Delivery: 0.00% [NG] *
Stock-Level: 0.00% [NG] * <TpmC>
14419.800 TpmC
[root@test3 tpcc-mysql-master]#

MySQL测试工具之-tpcc的更多相关文章

  1. sysbench(mysql测试工具 )

    目录 一.基准测试简介 1.什么是基准测试 2.基准测试的作用 3.基准测试的指标 4.基准测试的分类 二.sysbench 1.sysbench简介 2.sysbench安装 3.sysbench语 ...

  2. MySQL 测试工具(基准测试、压力测试)

    1.sysbench sysbench是跨平台的基准测试工具,支持多线程,支持多种数据库: 主要包括以下几种测试: cpu性能 磁盘io性能 调度程序性能 内存分配及传输速度 POSIX线程性能 数据 ...

  3. mysql测试工具 -> mysqlslap

    一.简介 mysqlslap是mysql自带的基准测试工具 优点:查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比 ...

  4. mysql测试工具

    Super Smack安装和使用 . sysbench

  5. MySQL 常用工具sysbench/fio/tpcc等测试

    为什么要压力测试采购新设备,评估新设备性能开发新项目,评估数据库容量新系统上线前,预估/模拟数据库负载更换数据库版本,评估性能变化 关注指标  CPU %wait,%user,%sys 内存 只内存读 ...

  6. 测试mysql性能工具

    mysqlslap mysqlslap可以模拟服务器的负载,并输出计时信息.它包含在MySQL 5.1 的发行包中,应该在MySQL 4.1或者更新的版本中都可以使用.测试时可以执行并发连接数,并指定 ...

  7. LINUX系统下MySQL 压力测试工具super smack

    摘要:1.源文件下载地址:http://vegan.net/tony/supersmack/2.安装:注意在编译时,可以先把对应的libmysqlclient.so.*拷贝到/usr/lib3.测试: ...

  8. MySQL自带的性能压力测试工具mysqlslap

    mysqlslap是从MySQL的5.1.4版开始就开始官方提供的压力测试工具. 通过模拟多个并发客户端并发访问MySQL来执行压力测试,同时提供了较详细的SQL执行数据性能报告,并且能很好的对比多个 ...

  9. Mysql备份工具xtraback全量和增量测试

    Mysql备份工具xtraback全量和增量测试   xtrabackup 是 percona 的一个开源项目,可以热备份innodb ,XtraDB,和MyISAM(会锁表) 官方网址http:// ...

随机推荐

  1. C++中的枚举变量

    至从C语言开始enum类型就被作为用户自定义分类有限集合常量的方法被引入到了语言当中,而且一度成为C++中定义编译期常量的唯一方法(后来在类中引入了静态整型常量).根据上面对enum类型的描述,有以下 ...

  2. jq的clone用第二次的时候为什么会复制clone出来的元素(即一变二,二变四)

    原因是clone得到的是一个数组吗,每次再clone的时候,相当于操作了这个数组,肯定就会出现重复,我们只需要取第一个值就可以了,用.first()的方法 jquery(‘item‘).first() ...

  3. JS 获取中英字符串字节长度

    正则匹配中文字: 这里限定中文字的范围,一般的使用是没什么问题的.如果要求十分严格的话,那么就只能使用更加严谨的代码匹配了 1:/([^\u0000-\u00FF])/g 2:/[^\x00-\xff ...

  4. redis未授权访问漏洞那拿SHELL

    一.什么是redis未授权访问漏洞: 1.redis是一种文档型数据库,快速高效,存储在内存中,定期才会写磁盘.主要用于快速缓存,数据转存处理等.默认redis开在6379端口,可以直接访问.并不需要 ...

  5. Egret3D初步学习笔记四 (地形使用)

    一 导出地形 Skinedmesh没反应.得选择导出scene. 二 直接报错  三 修改错误 选择关闭程序后,仍然可以导出完成. 由于地图的lightmap.exr没法解析报错. 在获得MapCon ...

  6. http://blog.csdn.net/ym19860303/article/details/8462450

    http://www.himigame.com/iphone-cocos2d/444.html 很多游戏中,便于开发就会直接采用Cocos2d提供的字体库来使用,但是因为提供的种类很多,那么Himi利 ...

  7. Android搜索自动提示功能 AutocompleteTextView

    1.配置main.xml中自动提示控件: <AutoCompleteTextView android:id="@+id/autotv_searchresult" androi ...

  8. Session的存储原理

    一.session是怎么存储,提取的? 1.在服务器端有一个session池,用来存储每个用户提交session中的数据,Session对于每一个客户端(或者说浏览器实例)是“人手一份”,用户首次与W ...

  9. 沈阳网络赛J-Ka Chang【分块】【树状数组】【dfs序】

    Given a rooted tree ( the root is node 11 ) of NN nodes. Initially, each node has zero point. Then, ...

  10. LVM的一些问题汇总 tune2fs命令

    LVM的一些问题汇总  tune2fs命令 --http://www.aminglinux.com/bbs/forum.php?mod=viewthread&tid=7664&page ...