tpcc-mysql安装、使用、结果解读

1关于tpcc-mysql
TPC-C是专门针对联机交易处理系统(OLTP系统)的规范,一般情况下我们也把这类系统称为业务处理系统。

tpcc-mysql是percona基于TPC-C(下面简写成TPCC)衍生出来的产品,专用于MySQL基准测试。其源码放在launchpad上,用bazaar管理。

2tpcc-mysql安装
launchpad上的项目可以使用bzr客户端(类似cvs/svn)将源码下载到本地:

cd /tmp
bzr branch lp:~percona-dev/perconatools/tpcc-mysql

也可从MySQL中文网的百度云盘共享快速下载:

http://pan.baidu.com/s/1pJr19CR

在源码目录下,直接执行 make 即可完成编译。当然了,mysql lib包是需要提前安装,如果不在默认目录下的话,可以手工修改 Makefile,指定正确的 mysql_config 目录即可,让mysql_config自己去找到对应的 libs 和 include 路径。

3tpcc-mysql相关数据表用途介绍
tpcc-mysql的业务逻辑及其相关的几个表作用如下:

New-Order:新订单,主要对应 new_orders 表
Payment:支付,主要对应 orders、history 表
Order-Status:订单状态,主要对应 orders、order_line 表
Delivery:发货,主要对应 order_line 表
Stock-Level:库存,主要对应 stock 表

其他相关表:
客户:主要对应 customer 表
地区:主要对应 district 表
商品:主要对应 item 表
仓库:主要对应 warehouse 表

4开始测试
1、初始化表结构及测试数据

#创建tpcc100库,初始化DDL

mysqladmin create tpcc100
mysql -f tpcc100 < create_table.sql
mysql -f tpcc100 < add_fkey_idx.sql

#初始化测试数据,加载100个仓库的测试数据,仓库数越大,测试数据也越大,整个过程也越慢,需要根据服务器配置适当调整

tpcc_load localhost tpcc tpcc_user tpcc_passwd 100

2、开始测试

#下面的例子中,模拟对100个仓库(-w 100),并发128个线程(-c 128),预热5分钟(-r 300),持续压测1小时(-l 3600)

tpcc_start -hlocalhost -utpcc_user -ptpcc_password -d tpcc100 -w 100 -c 128 -r 300 -l 3600

5压测结果解读
-- 每10秒钟输出一次压测数据
10, 8376(0):2.744|3.211, 8374(0):0.523|1.626, 838(0):0.250|0.305, 837(0):3.241|3.518, 839(0):9.086|10.676
20, 8294(0):2.175|2.327, 8292(0):0.420|0.495, 829(0):0.206|0.243, 827(0):2.489|2.593, 827(0):7.214|7.646

上面的压测过程输出解读见下:

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

-- 第一次粗略结果统计

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

测试结果统计分析

(all must be [OK]) -- 下面所有业务逻辑结果都必须为 OK 才行
[transaction percentage]
Payment: 43.47% (>=43.0%) [OK] -- 支付成功次数(上述统计结果中 sc + lt)必须大于43.0%,否则结果为NG,而不是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 90% passed)] -- 响应耗时指标必须超过90%通过才行
New-Order: 100.00% [OK] -- 下面几个响应耗时指标全部 100% 通过
Payment: 100.00% [OK]
Order-Status: 100.00% [OK]
Delivery: 100.00% [OK]
Stock-Level: 100.00% [OK]

以及最终的tpcc测试结果

50294.500 TpmC -- TpmC结果值,即每分钟的事务数

6其他推荐
TPCC-MySQL使用手册:
http://imysql.com/2012/08/04/tpcc-for-mysql-manual.html

搜狐视频:MySQL DBA成长之路 - tpcc-mysql安装、使用、结果解读:
http://my.tv.sohu.com/us/2743676/74406856.shtml

关于MySQL的方方面面大家想了解什么,可以直接留言回复,我会从中选择一些热门话题进行分享。 同时希望大家多多转发,多一些阅读量是老叶继续努力分享的绝佳助力,谢谢大家 :)

文章转自老叶茶馆公众号,原文链接:https://mp.weixin.qq.com/s/c6rNsliObMJNhlQ4-5KHHw

时间: 2024-10-29 19:30:13

tpcc-mysql安装、使用、结果解读的相关文章

删除mysql 安装 mysql 5.1.65 5.1.73

新安装的centos 6.5 需要安装mysql,需要删除如下文件: 主 mysql 5.1.65  从 mysql 5.1.73    find / -name mysql 需要删除如下3个文件: [root@m ~]# whereis mysql mysql: /usr/lib64/mysql /usr/share/mysql [root@m ~]# rm -rf /usr/lib64/mysql/ [root@m ~]# rm -rf /usr/share/mysql/ [root@m ~

MySQL安装教程图解

下面的是MySQL安装的图解,用的可执行文件安装的,详细说明了一下! MySQL    下载地址       打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行"setup.exe",出现如下界面     mysql安装向导启动,按"Next"继续        选择安装类型,有"Typical(默认)"."Complete(完全)"."Custom(用户自定义)"三

WIN2000 Apache php mysql 安装及安全手册

apache|mysql|安全 本文写给想在win2k平台上架设一个安全web站台的朋友们. 所需要的程序: apache http://www.apache.org/dist/httpd/binaries/win32/ 我们选用apache_1.3.28-win32-x86-no_src.msi,或者apache_2.0.47-win32-x86-no_ssl.msi 都可以,勿使用低版本的程序,它们有缺陷,很容易遭到internet上的攻击 php http://cn2.php.net/ge

新的MySQL安装的安全性

mysql|安全|安全性     本章将讨论MySQL管理员为保持MySQL正常运行所需要完成的职责.这些职责包括确保服务器尽可能保持高性能地运行.设置用户账号以便客户机能够访问服务器.维护日志文件,以及执行数据库备份.为了得到更高的性能,管理员还可以运行多个服务器或修改服务器的操作参数.最后,由于MySQL正处于高速发展的状态,所以管理员必须能确定何对MySQL进行升级.其他重要的管理问题将在第12章"安全性"和第13章"数据库维护和修复"介绍.    有几个对M

怎样测试MySQL安装

问:我该怎样测试 MySQL安装? 答:可以通过以下命令测试MySQL服务器是否工作: C:\> C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqlshowC:\> C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqlshow -u root mysqlC:\> C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqladmin version stat

Windows下对MySQL安装的故障诊断与排除

首次安装.运行MySQL时,你可能会遇到一些错误,使MySQL服务器不能启动.本节的目的是帮助你诊断并纠正这些错误. 解决服务器问题时你的第一资料是错误日志.MySQL服务器使用错误日志来记录服务器不能启动的信息.错误日志位于my.ini文件指定的数据目录中.默认数据目录位于C:\Program Files\MySQL\MySQL Server 5.1\dat. 另一个错误相关信息源是MySQL服务启动时控制台上显示的消息.将mysqld安装为服务后,从命令行通过NET START mysql命

MySQL安装教程

下面的是MySQL安装的图解,用的可执行文件安装的,详细说明了一下! 打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行"setup.exe",出现如下界面 mysql安装向导启动,按"Next"继续 选择安装类型,有"Typical(默认)"."Complete(完全)"."Custom(用户自定义)"三个选项,我们选择"Custom",有更多的

mysql安装图解详细说明

本文详细介绍了Windows下安装MySQL5.5.19的全过程,希望对初学者有帮助. 下载mysql-5.5.19-win32.msi安装文件,双击运行,出现如下界面. mysql安装向导启动,按"Next"继续 在 I accept the terms in the License Agreement(我接受许可协议中的条款)前面打上勾.按"Next"继续. 选择安装类型,有"Typical(默认)"."Custom(自定义)&qu

mysql安装过程中遇到的问题

问题描述 mysql安装过程中遇到的问题 mysql安装到最后一步,老是未响应,怎么解决呢?就是按照视频一步一步安装的,究竟什么原因,求解决方案 解决方案 之所以遇到这种情况,很有可能是因为电脑上曾经安装过MySQL,而没有彻底卸载干净(或者卸载干净却没有重启电脑)的缘故. 如果遇到这种情况,建议先卸载掉MySQL,并检查MySQL安装目录.C:/Program Files.C:/Windows等位置是否残留有MySQL的安装痕迹,再运行regedit命令,进入注册表,按Ctrl+F,输入MyS

Mysql安装过程问题总结及处理方法

首次安装.运行MySQL时,可能会遇到一些错误,使MySQL服务器不能启动.本文档的目的是帮助诊断并纠正这些错误. 首先在安装mysql时,请关闭防火墙以及杀毒软件,因为防火墙和部分杀毒软件会导致mysql安装.配置失败,从而无法启动mysql服务. 解决服务器问题时的第一资料是错误日志.MySQL服务器使用错误日志来记录服务器不能启动的信息.错误日志位于my.ini文件指定的数据目录中.默认数据目录位于C:\Program Files\MySQL\MySQL Server 5.1\dat. 另