tpcc mysql 基准测试_tpcc测试工具_基准测试工具之tpcc-mysql-云栖社区-阿里云

TPC(Tracsaction Processing Performance Council) 事务处理性能协会是一个评价大型数据库系统软硬件性能的非盈利的组织,TPC-C是TPC协会制定的,用来测试典型的复杂OLTP系统的性能。Tpcc-mysql是percona基于tpcc衍生出来的产品,专用于mysql基准测试,其源码放在bazaar上,因此需要先安装bazaar客户端。

一 下载工具

安装rpm包 ,根据系统的不同选择合适的rpm

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

安装bzr 客户端

yum install bzr

下载tpcc-mysql

[root@rac1 markbench]# bzr branch lp:~percona-dev/perconatools/tpcc-mysql

You have not informed bzr of your Launchpad ID, and you must do this to

write to Launchpad or access privatedata.  See "bzr help launchpad-login".

Branched 48 revision(s).

bzr: warning: some compiled extensions could not be loaded; see

[root@rac1 markbench]#

遇到的问题

[root@rac1 markbench]# bzr branch lp:~percona-dev/perconatools/tpcc-mysql

bzr: ERROR: Couldn't import bzrlib and dependencies.

Please check the directory containing bzrlib is on yourPYTHONPATH.

Traceback (most recent call last):

File "/usr/bin/bzr", line 102, in

import bzrlib

ImportError: No module named bzrlib

python安装环境,建议使用python2.6的版本,提示找不到 bzrlib 模块

解决方法:

[root@rac1 markbench]#   find / -name bzrlib -print

/usr/lib64/python2.4/site-packages/bzrlib

[root@rac1 markbench]# exportPYTHONPATH=/usr/lib64/python2.4/site-packages

再次下载ok.

二 编译安装

进入源码目录

cdtpcc-mysql/src

!!!!make之前一定要修改src下面makefile的mysql_config

make

[root@rac1src]#make

cc-w-O2-g-I.`mysql_config--include`-cload.c

cc-w-O2-g-I.`mysql_config--include`-csupport.c

ccload.osupport.o`mysql_config--libs_r`-lrt-o../tpcc_load

cc-w-O2-g-I.`mysql_config--include`-cmain.c

cc-w-O2-g-I.`mysql_config--include`-cspt_proc.c

cc-w-O2-g-I.`mysql_config--include`-cdriver.c

cc-w-O2-g-I.`mysql_config--include`-csequence.c

cc-w-O2-g-I.`mysql_config--include`-crthist.c

cc-w-O2-g-I.`mysql_config--include`-cneword.c

cc-w-O2-g-I.`mysql_config--include`-cpayment.c

cc-w-O2-g-I.`mysql_config--include`-cordstat.c

cc-w-O2-g-I.`mysql_config--include`-cdelivery.c

cc-w-O2-g-I.`mysql_config--include`-cslev.c

ccmain.ospt_proc.odriver.osupport.osequence.orthist.oneword.opayment.oordstat.odelivery.oslev.o`mysql_config--libs_r`-lrt-o../tpcc_start

三 初始化测试库环境

make命令会在tpcc-mysql目录下生成 tpcc 命令行工具 tpcc_load ,tpcc_start

tpcc_load  提供初始化数据的功能

tpcc_start 进行压力测试

用法:

# ./tpcc_load –help

tpcc_load [server] [DB] [user] [pass] [warehouse]

server :    服务器名

DB     :    数据库名

user   :    用户名

pass   :    密码

warehouse: 仓库的数量

# ./tpcc_start –help

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

介绍一下各个参数的用法

-h server_host:      服务器名

-P port :             端口号,默认为3306

-d database_name:     数据库名

-u mysql_user :        用户名

-p mysql_password :    密码

-w warehouses:        仓库的数量

-c connections :       线程数,默认为1

-r warmup_time :       热身时间,单位:s,默认为10s ,热身是为了将数据加载到内存。

-l running_time:      测试时间,单位:s,默认为20s

-i report_interval     指定生成报告间隔时长

-f report_file :       测试结果输出文件

注意

tpcc 默认会读取/var/lib/mysql/mysql.sock 这个socket位置,如果你的测试环境的mysql socket不在相应路径的话,就需要做个软连接,或者通过TCP/IP的方式连接测试服务器。

准备工作:

mysqladmin  -uroot -h127.0.0.1 create tpcc          # 创建测试用的数据库

mysql -uroot -h127.0.0.1  tpcc < create_table.sql   # 创建测试用的表

mysql -uroot -h127.0.0.1  tpcc < add_fkey_idx.sql   # 创建FK和索引

1 创建五个数据仓库

./tpcc_load  127.0.0.1 tpcc root "" 5

*************************************

*** ###easy### TPC-C Data Loader  ***

*************************************

[server]: 127.0.0.1

[port]: 3306

[DBname]: tpcc

[user]: root

[pass]:

[warehouse]: 5

TPCC Data Load Started...

Loading Item

.................................................. 5000

.................................................. 10000

忽略部分输出结果

四、进行测试

#使用tpcc_start 进行5个线程的测试,热身时间为120秒, 测试时间为1小时 !

[root@rac1 tpcc-mysql]# tpcc_start  -hlocalhost  -d tpcc  -u root  -p '' -w 5  -c  5  -r 120   -l  300 -f tpcc_mysql_20130331.xls

***************************************

*** ###easy### TPC-C Load Generator ***

***************************************

option h with value 'localhost'

option d with value 'tpcc'

option u with value 'root'

option p with value ''

option w with value '5'

option c with value '5'

option r with value '120'

option l with value '300'

option f with value 'tpcc_mysql_20130331.xls'

[server]: localhost

[port]: 3306

[DBname]: tpcc

[user]: root

[pass]:

[warehouse]: 5

[connection]: 5

[rampup]: 120 (sec.)

[measure]: 300 (sec.)

RAMP-UP TIME.(120 sec.)

MEASURING START. ---每隔10s 输出一次结果

10, 812(1):1.509|5.419, 814(0):0.447|1.575, 81(0):0.241|0.539, 82(0):2.270|2.824, 81(0):4.571|6.648

......

290, 851(0):1.582|2.949, 849(0):0.441|0.630, 85(0):0.199|0.235, 86(0):1.937|2.000, 85(0):4.178|4.226

300, 820(0):1.451|2.321, 822(0):0.443|0.718, 82(0):0.201|0.284, 81(0):1.922|2.972, 82(0):4.409|5.245

STOPPING THREADS.....

[0] sc:25485  lt:1  rt:0  fl:0

[1] sc:25487  lt:0  rt:0  fl:0

[2] sc:2548  lt:0  rt:0  fl:0

[3] sc:2549  lt:0  rt:0  fl:0

[4] sc:2549  lt:0  rt:0  fl:0

in 300 sec.

[0] sc:25485  lt:1  rt:0  fl:0

[1] sc:25487  lt:0  rt:0  fl:0

[2] sc:2548  lt:0  rt:0  fl:0

[3] sc:2549  lt:0  rt:0  fl:0

[4] sc:2549  lt:0  rt:0  fl:0

(all must be [OK])

[transaction percentage]

Payment: 43.48% (>=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 90% passed)]

New-Order: 100.00%  [OK]

Payment: 100.00%  [OK]

Order-Status: 100.00%  [OK]

Delivery: 100.00%  [OK]

Stock-Level: 100.00%  [OK]

5097.200 TpmC

最新内容请见作者的GitHub页:http://qaseven.github.io/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值