tpcc-mysql的github地址:https://github.com/Percona-Lab/tpcc-mysql

tpcc-mysql源代码进行编译,服务器上需要安装有mysql

git clone https://github.com/Percona-Lab/tpcc-mysql.git
cd tpcc-mysql/src
make

可能会遇到如下错误:

需要安装以下组件

yum install mysql-devel
yum install gcc

make成功后,会在tpcc-mysql下生成两个命令行工具

创建库

# 本地
mysqladmin -uroot -proot create tpcc1000 # 远程
mysqladmin -h192.168.0.1 -P3306 -uroot -proot create tpcc1000

创建表

# 本地
mysql -uroot -proot -f tpcc1000 < create_table.sql # 远程
mysql -h192.168.0.1 -P3306 -uroot -proot -f tpcc1000 < create_table.sql

创建外键

# 本地
mysql -uroot -proot -S /tmp/mysql.sock tpcc100 < add_fkey_idx.sql #远程
mysql -h192.168.0.1 -P3306 -uroot -proot -S /tmp/mysql.sock tpcc1000 < add_fkey_idx.sql

加载数据

-h 主机IP     -P 端口号     -u 用户名      -p 密码     -d 数据库名     -w仓库数量

./tpcc_load -h127.0.0. -P3306 -uroot -proot -dtpcc1000 -w100

真实测试场景中,仓库数一般不建议少于 100个,视服务器硬件配置而定,如果是配备了SSD或者PCIE SSD这种高IOPS设备的话,建议最少不低于 1000个

发起压测

-h 主机IP     -P 端口号     -u 用户名      -p 密码     -d 数据库名     -w仓库数量     -c 并发数     -r 预热时间     -l 持续测试时间      -i 报告生成间隔时长      -f 生成的报告名

./tpcc_start -h 127.0.0.1 -P  -d tpcc1000 -u root -p root -w  -c  -r  -l  -f tpcclog_201409211538_64_THREADS.log >> tpcc_noaid_2_20140921_64.log >&

统计结果

***************************************
*** ###easy### TPC-C Load Generator ***
***************************************
option h with value '127.0.0.1'
option P with value ''
option d with value 'tpcc1000'
option u with value 'root'
option p with value 'root'
option w with value ''
option c with value ''
option r with value ''
option l with value ''
option f with value 'tpcclog_201409211538_64_THREADS.log'
<Parameters>
[server]: 127.0.0.1
[port]:
[DBname]: tpcc1000
[user]: root
[pass]: root
[warehouse]:
[connection]:
[rampup]: (sec.)
[measure]: (sec.) RAMP-UP TIME.( sec.)

--初始化信息
MEASURING START.

  , trx: , %: 3408.202, %: 4244.400, max_rt: 4955.159, |7908.489, |3133.168, |6049.083, |11051.597
, trx: , %: 2954.709, %: 3978.652, max_rt: 5321.916, |7097.855, |3535.278, |5067.906, |8279.009
, trx: , %: 3216.882, %: 4579.696, max_rt: 4651.545, |5517.847, |2888.488, |5839.525, |9747.291
, trx: , %: 2806.432, %: 3772.209, max_rt: 4188.561, |5264.642, |2234.885, |5447.216, |9525.448
, trx: , %: 3708.392, %: 4455.295, max_rt: 4620.094, |6174.815, |2714.639, |6578.676, |9311.568
, trx: , %: 3455.456, %: 4072.641, max_rt: 4789.693, |7616.626, |2813.756, |5629.434, |11790.620
, trx: , %: 3360.588, %: 3785.784, max_rt: 4194.451, |6506.522, |2047.294, |7115.730, |11013.240
, trx: , %: 3394.965, %: 4038.649, max_rt: 4117.499, |7468.766, |1926.932, |7143.620, |7610.500
, trx: , %: 4621.007, %: 5785.856, max_rt: 6406.660, |4856.231, |1691.698, |6805.226, |7287.891
, trx: , %: 4424.727, %: 5655.715, max_rt: 5681.746, |9643.270, |2487.533, |7005.748, |6326.052
, trx: , %: 3222.664, %: 3983.419, max_rt: 4084.562, |6793.215, |2140.033, |6742.681, |8313.380
, trx: , %: 4088.520, %: 5306.367, max_rt: 6080.581, |7764.922, |2306.241, |9595.797, |10459.830

-- 以逗号分隔,共6列
-- 第一列,第N次10秒
-- 第二列,总成功执行压测的次数(总推迟执行压测的次数):90%事务的响应时间|本轮测试最大响应时间
-- 第三列,新订单业务成功执行次数(推迟执行次数):90%事务的响应时间|本轮测试最大响应时间
-- 第四列,支付业务的结果,后面几个的意义同上
-- 第五列,发货业务的结果,后面几个的意义同上
-- 第六列,库存业务的结果,后面几个的意义同上

STOPPING THREADS................................................................

<Raw Results>
[] sc: lt: rt: fl: avg_rt: 2172.2 ()
[] sc: lt: rt: fl: avg_rt: 2191.9 ()
[] sc: lt: rt: fl: avg_rt: 1032.8 ()
[] sc: lt: rt: fl: avg_rt: 5431.0 ()
[] sc: lt: rt: fl: avg_rt: 6932.6 ()
in sec.

-- 第0行 New-Order,新订单业务成功(success,简写sc)次数,延迟(late,简写lt)次数,重试(retry,简写rt)次数,失败(failure,简写fl)
-- 第1行 Payment,支付业务统计,其他同上
-- 第2行 Order-Status,订单状态业务统计,其他同上
-- 第3行 Delivery,发货业务统计,其他同上
-- 第4行 Stock-Level,库存业务统计,其他同上

<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.48% (>=43.0%) [OK]
Order-Status: 4.34% (>= 4.0%) [OK]
Delivery: 4.29% (>= 4.0%) [OK]
Stock-Level: 4.37% (>= 4.0%) [OK]
[response time (at least % passed)]
New-Order: 0.00% [NG] *
Payment: 0.12% [NG] *
Order-Status: 3.59% [NG] *
Delivery: 0.00% [NG] *
Stock-Level: 0.00% [NG] * <TpmC>
837.500 TpmC -- TpmC结果值
Payment        -- 支付成功次数(上述统计结果中 sc + lt)必须大于43.0%,否则结果为NG,而不是OK
Order-Status   -- 订单状态,其他同上
Delivery       -- 发货,其他同上
Stock-Level    -- 库存,其他同上
response time  -- 响应耗时指标必须超过90%通过才行 下面几个响应耗时指标全部 100% 通过

使用tpcc-mysql进行性能测试的更多相关文章

  1. 使用sysbench 对mysql进行性能测试

    使用sysbench 对mysql进行性能测试 sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据库的性能测试.目前支持的数据库有My ...

  2. Mybatis与JDBC批量插入MySQL数据库性能测试及解决方案

    转自http://www.cnblogs.com/fnz0/p/5713102.html 不知道自己什么时候才有这种钻研精神- -. 1      背景 系统中需要批量生成单据数据到数据库表,所以采用 ...

  3. Mysql多线程性能测试工具sysbench 安装、使用和测试

    From:http://www.cnblogs.com/zhoujinyi/archive/2013/04/19/3029134.html 摘要:      sysbench是一个开源的.模块化的.跨 ...

  4. Jmeter MySQL数据库性能测试

    1.首先准备M一SQL数据,新建一个数据库及测试用的表,插入1条数据 2.打开Jmeter,新建线程组,设置多少用户,循环几次随意 3.在线程组下新增JDBC配置元件,通过配置使得Jmeter能够连上 ...

  5. 【转】Jmeter MySQL数据库性能测试

    1.首先准备M一SQL数据,新建一个数据库及测试用的表,插入1条数据 2.打开Jmeter,新建线程组,设置多少用户,循环几次随意 3.在线程组下新增JDBC配置元件,通过配置使得Jmeter能够连上 ...

  6. mysql 重点性能测试指标

    #qps 每秒钟查询数量 计算方式queries/seconds 查询总数/秒数show GLOBAL STATUS LIKE 'question%' #tps 每秒事务数 计算方式 (com_com ...

  7. MYSQL LIMIT 性能测试

    查询语句 # 普通表 SELECT * FROM test_page LIMIT m,n # 内存表 SELECT * FROM test_page_memory LIMIT m,n 总结 查询位置( ...

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

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

  9. 最详细的CentOS 6与7对比(三):性能测试对比

    本主题将从3个角度进行对比 常见设置(CentOS 6 vs CentOS 7) 服务管理(Sysvinit vs Upstart vs Systemd) 性能测试(cpu/mem/io/oltp) ...

  10. CentOS 6.5 RPM包方式安装 Mysql 5.6

    1. 下载MySQL 5.6 下载页面:http://dev.mysql.com/downloads/mysql/此处选择“Red Hat Enterprise Linux 6 / Oracle Li ...

随机推荐

  1. Win10+Ubuntu1604双系统

    原本电脑有一块固态硬盘和机械硬盘,用来跑win10的,现在想直接在ubuntu上跑tensorflow,所以加了块320G的机械硬盘单独跑ubuntu. 一.准备 1.ubuntu-16.04.3-d ...

  2. vagrant 虚拟机中安装 lnamp 环境

    转载自 :http://git.oschina.net/apanly/mooc/tree/master/vagrant 替换源 sudo cp /etc/apt/sources.list /etc/a ...

  3. Centos 安装Sublime text 3

    1.下载sublime3 http://www.sublimetext.com/3 2.解压缩,即为安装. # cd /opt # tar xjf /home/alex/Downloads/subli ...

  4. 在windows 7中vagrant up 无反应,没任何信息输出

    本文转载自:https://blog.csdn.net/cow66/article/details/77993908 我的系统是windows 7 安装了vagrant,当运行vagrant up时, ...

  5. CTE(Common Table Expression) 公用表表达式

    在编写T-SQL代码时,往往需要临时存储某些结果集.前面我们已经广泛使用和介绍了两种临时存储结果集的方法:临时表和表变量.除此之外,还可以 使用公用表表达式的方法.公用表表达式(Common Tabl ...

  6. consul之:ACL配置使用

    consul自带ACL控制功能,看了很多遍官方文档,没有配置步骤https://www.consul.io/docs/internals/acl.html 主要对各种配置参数解释,没有明确的步骤,当时 ...

  7. 服务注册发现consul之三:服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka

    这里就平时经常用到的服务发现的产品进行下特性的对比,首先看下结论: Feature Consul zookeeper etcd euerka 服务健康检查 服务状态,内存,硬盘等 (弱)长连接,kee ...

  8. Socket的长连接和短连接

    讨论Socket必讨论长连接和短连接 一.长连接和短连接的概念 1.长连接与短连接的概念:前者是整个通讯过程,客户端和服务端只用一个Socket对象,长期保持Socket的连接:后者是每次请求,都新建 ...

  9. sqlserver 模糊查询,连表,聚合函数,分组

    use StudentManageDB go select StudentName,StudentAddress from Students where StudentAddress like '天津 ...

  10. OA-DB-LINUX安装说明

    HOST配置: HOST1:OADB-NODE1.LSTECH.COM HOST2:OADB-NODE2.LSTECH.COM 每台主机配置两个不同VLAN的IP地址 OSUSER:oracle 1. ...