gnuplot读取mysql数据库_Tpcc-MySQL测试并使用Gnuplot生成图表

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

项目地址:

https://code.launchpad.net/~percona-dev/perconatools/tpcc-mysql

一 下载工具

首先,安装bzr 客户端

# yum -y install bzr

下载tpcc-mysql过程中遇到的问题

# 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 bzrlibpython

ImportError: No module named bzrlib

提示找不到 bzrlib 模块,因为调用Python,建议升级到2.6版本

解决方法:

# find / -name bzrlib -print

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

定义环境变量:

# export PYTHONPATH=/usr/lib64/python2.4/site-packages

再次下载ok.

#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

二 编译安装

进入源码目录

#cd tpcc-mysql/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的方式连接测试服务器。

准备工作:

#mysql -uroot -p -e "create database tpcc" # 创建测试用的数据库

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

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

1 创建五个数据仓库

#./tpcc_load localhost tpcc root "123456" 5

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

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

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

[server]: localhost

[port]: 3306

[DBname]: tpcc

[user]: root

[pass]: 123456

[warehouse]: 5

TPCC Data Load Started...

Loading Item

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

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

忽略部分输出结果

四、进行测试

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

# ./tpcc_start -hlocalhost -d tpcc -u root -p "123456" -w 5 -c 5 -r 120 -l 300 - >tpcc-output-log0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值