【工具】基准测试工具之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 private data.  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 your PYTHONPATH.

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]# export PYTHONPATH=/usr/lib64/python2.4/site-packages

再次下载ok.

二 编译安装

 进入源码目录

 cd tpcc-mysql/src

 make

 [root@rac1 src]# make

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

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

cc load.o support.o `mysql_config --libs_r` -lrt -o ../tpcc_load

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

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

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

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

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

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

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

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

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

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

cc main.o spt_proc.o driver.o support.o sequence.o rthist.o neword.o payment.o ordstat.o delivery.o slev.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

时间: 2024-09-28 16:56:25

【工具】基准测试工具之tpcc-mysql的相关文章

【工具】基准测试工具之sysbench

sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况 它主要包括以下几种方式的测试: 1.cpu性能 2.磁盘io性能 3.调度程序性能 4.内存分配及传输速度 5.POSIX线程性能 6.数据库性能(OLTP基准测试) 目前sysbench主要支持 mysql,pgsql,oracle 这3种数据库. 一 前期准备 1 下载 sysbench   http://sf.net/projects/sysbench/ 2 安装: [root@

数据库基准测试工具 LinkBench

    LinkBench 是一个数据库基准测试工具,用来模拟 Facebook 产品 MySQL 数据库的性能和工作负载.LinkBench 高度可配置和可扩展,可配置用于不同的工作负载,并可编写插件来对其他数据库系统进行测试. 作为一个用于基准测试和调整数据库系统的开发人员工具,LinkBench是设计来重制(replicate)混合了数据模型.图状结构(graph structure),以及Facebook的MySQL社交图谱的请求量负荷的. 最新内容请见作者的GitHub页:http:/

六款优秀的 Linux 基准测试工具

基准测试是指运行计算机程序去评估硬件和软件性能的行为.硬件基本测试包括评估处理器,内存,显卡,硬盘,网络等不同组件的性能. 基准测试有两类: 复合和应用.复合基准对一个硬件执行压力测试,如连续写入和读取数据.应用基准则是衡量真实世界应用程序如数据库和服务器的性能.基准测试软件可以让系统 测试者和用户客观独立的评估硬件性能.Linux下有许多优秀的开源Linux基准测试工具,如Phoronix Test Suite,IOzone,netperf等. Phoronix Test Suite phor

Google 发布开源云基准测试工具 —— PerfKit

PerfKit 是 Google 公司推出的一款开源的云基准测试工具,PerfKit 提供一组基准测试方法用来测量和比较云服务.当前支持 Google 自己的 Compute Engine.亚马逊的 AWS 和微软的 Azure 云.目前为该项目在工作的有超过 30 个研发人员.公司和客户,包括:ARM, Canonical, Cisco, Intel, Microsoft, Rackspace and Red Hat. PerfKit 同时还提供一个可视化工具 PerfKit Explorer

Flash CS4中的3d工具,deco工具和骨骼工具

核心提示:Flash Cs4在界面上与其上一个版本cs3总体来说并没有特别大的区别,下面就让我们来介绍一下CS4中的工具吧. Flash Cs4在界面上与其上一个版本cs3总体来说并没有特别大的区别,下面就让我们来介绍一下CS4中的工具吧.在工具菜单中 添加了3d工具deco工具骨骼工具. 针对mc添加了一个动画编辑器. 脚本语言没有变化. 主要针对新版本中的3d功能以及骨骼工具做了相对的试用下面是具体的示例. 一.3d工具的使用以实例 cs4没有3dmax等3d软件强大的建模工具,但是在cs4

使用稻草人便民工具快捷工具快速管理PC

  在Windows操作系统中,大量的设置按钮,有时候会让你头昏眼花,即是当你需要针对性地去查找某项设置,对计算机进行需要的调整时,要花费比较多的时间是一件非常麻烦的事情.稻草人便民工具作为一款人们生活中的辅助工具.在辅助用户对电脑系统设置时,提供了常用的快捷工具,相信在这些常用快捷按钮的辅助下,提升你使用计算机的效率. 稻草人便民工具"快捷工具"界面下 稻草人便民工具提供Windows操作系统的属性设置.常用工具和管理工具等三个方面的实用功能快捷启动入口. "属性设置&qu

Red Flag Linux Desktop 6.0用户手册:工具盘工具列表

红旗公司为方便广大用户的使用,特集成了一张工具盘中供用户选用.盘中所有工具均可在系统中正常运行.在运用过程中,如果工具盘中的软件出现任何问题,敬请用户借助网络.书籍等各种方式进行自学.处理. 工具盘工具列表 程序名称 功能说明和描述 base OpenOffice.org 2.2数据库 calc OpenOffice.org 2.2电子表格 draw OpenOffice.org 2.2矢量绘图 impress OpenOffice.org 2.2演示文稿 math OpenOffice.org

基准测试工具之tpcc-mysql

TPC(Tracsaction Processing Performance Council) 事务处理性能协会是一个评价大型数据库系统软硬件性能的非盈利的组织,TPC-C是TPC协会制定的,用来测试典型的复杂OLTP系统的性能.Tpcc-mysql是percona基于tpcc衍生出来的产品,专用于mysql基准测试,其源码放在bazaar上,因此需要先安装bazaar客户端. 一 下载工具 安装rpm包 ,根据系统的不同选择合适的rpm rpm -Uvh http://dl.fedorapro

[Oracle]利用开源工具实现自己的TPC-C

oracle [Oracle] How to Use Open Source Tools to Implement Your Own TPC-C 作者:Fenng 日期:Mar 14 2004 (v0.13)站点:Http://www.dbanotes.net 本文简介 介绍如何利用开源工具实现Oracle数据库环境中的TPC-C.对DBA.开发人员.BI实施者有一定的参考价值. 引言描述 设想一下这样一种情况: 您正在负责公司的一个OLTP类型的数据库项目,面临数据库服务器选型的问题:如何选择