gnuplot读取mysql数据库_Tpcc-MySQL测试并使用gnuplot生成图表
初始化表结构
点击(此处)折叠或打开
# 创建测试数据库, tpcc1000(随意)
mysql -uroot -ppwd -e 'create database tpcc1000;'
# 创建测试帐号:用户名,密码都是tpcc
mysql -uroot -ppwd -e "GRANT ALL ON tpcc1000.* TO 'tpcc'@'127.0.0.1' identified by 'tpcc';flush privileges;"
# 导入表结构、索引、外键等
mysql -h127.0.0.1 -utpcc -ptpcc tpcc1000 < create_table.sql
mysql -h127.0.0.1 -utpcc -ptpcc tpcc1000 < add_fkey_idx.sql
初始化测试数据
tpcc_load 生成多少个数据仓库数据。比较耗时
点击(此处)折叠或打开
# ./tpcc_load --help
tpcc_load [server] [DB] [user] [pass] [warehouse]
Server: 服务器名。host:port[3306]
DB: 数据库名
user: 用户名
pass: 密码
Warehouse: 仓库的数量
# 本机3306端口, 数据库tpcc1000, 用户名密码都是tpcc, 数据仓库100个
./tpcc_load 127.0.0.1:3306 tpcc1000 tpcc tpcc 100
进行压力测试
tpcc_start 进行压力测试
#./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的方式连接测试服务器。
# 10个仓库,100个线程,热身30秒,测试120秒,输出到 tpcc.out
./tpcc_start -h127.0.0.1 -p3306 -dtpcc1000 -utpcc -ptpcc -w10 -c100 -r30 -l120 > tpcc.out
# 下一步分析脚本将分析蓝色部分的数据
点击(此处)折叠或打开
***************************************
*** ###easy### TPC-C Load Generator ***
***************************************
option h with value \'127.0.0.1\'
option p with value \'3306\'
option d with value \'tpcc1000\'
option u with value \'tpcc\'
option p with value \'tpcc\'
option w with value \'10\'
option c with value \'100\'
option r with value \'30\'
option l with value \'120\'
option f with value \'tpcc.out\'
[server]: 127.0.0.1
[port]: 3306
[DBname]: tpcc1000
[user]: tpcc
[pass]: tpcc
[warehouse]: 10
[connection]: 100
[rampup]: 30 (sec.)
[measure]: 120 (sec.)
RAMP-UP TIME.(30 sec.)
MEASURING START.
10, 153(0):2.453|2.829, 166(0):0.651|1.130, 17(0):0.352|0.466, 17(0):2.770|3.007, 23(0):7.171|7.935
20, 165(0):2.380|2.450, 156(0):0.457|0.484, 15(0):0.229|0.262, 18(0):2.653|2.688, 18(0):6.136|6.839
30, 162(0):2.372|2.440, 164(0):0.480|0.487, 17(0):0.269|0.272, 13(0):2.703|2.729, 17(0):6.009|6.535
40, 171(0):2.484|2.542, 171(0):0.478|0.493, 17(0):0.218|0.245, 18(0):2.811|2.854, 15(0):6.296|6.490
50, 173(0):2.437|2.515, 181(0):0.476|0.483, 18(0):0.233|0.240, 15(0):2.678|2.706, 19(0):6.402|6.762
60, 184(0):2.412|2.419, 205(0):0.459|0.488, 19(0):0.226|0.235, 21(0):2.700|2.726, 17(0):6.065|6.071
70, 182(0):2.322|2.438, 162(0):0.467|0.482, 18(0):0.228|0.233, 18(0):2.759|2.841, 19(0):6.177|6.368
80, 157(0):2.426|2.576, 164(0):0.468|0.476, 16(0):0.228|0.233, 15(0):2.671|2.707, 17(0):6.156|6.851
90, 188(0):2.459|2.484, 165(0):0.508|0.515, 18(0):0.261|0.274, 19(0):2.749|2.776, 18(0):6.283|6.402
100, 175(0):2.422|2.440, 195(0):0.484|0.493, 18(0):0.248|0.255, 17(0):2.657|2.664, 18(0):6.132|6.190
110, 176(0):2.346|2.398, 164(0):0.484|0.509, 17(0):0.228|0.229, 19(0):2.830|2.853, 18(0):6.128|6.452
120, 169(0):2.526|2.559, 176(0):0.514|0.553, 17(0):0.257|0.263, 16(0):2.781|3.103, 16(0):6.142|6.259
STOPPING THREADS....................................................................................................
[0] sc:2055 lt:0 rt:0 fl:0
[1] sc:2069 lt:0 rt:0 fl:0
[2] sc:207 lt:0 rt:0 fl:0
[3] sc:206 lt:0 rt:0 fl:0
[4] sc:215 lt:0 rt:0 fl:0
in 120 sec.
[0] sc:2055 lt:0 rt:0 fl:0
[1] sc:2076 lt:0 rt:0 fl:0
[2] sc:207 lt:0 rt:0 fl:0
[3] sc:207 lt:0 rt:0 fl:0
[4] sc:215 lt:0 rt:0 fl:0
(all must be [OK])
[transaction percentage]
Payment: 43.54% (>=43.0%) [OK]
Order-Status: 4.36% (>= 4.0%) [OK]
Delivery: 4.34% (>= 4.0%) [OK]
Stock-Level: 4.52% (>= 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]
1027.500 TpmC
1. 业务逻辑
tpcc包括了4个业务逻辑: 1. New-Order:新订单
2. Order-Status:支付
3. Delivery:发货
4. Stock-Level:库存
2. late的定义
根据不同的业务,late的定义也不同,4种业务逻辑分别对操作延迟定义的界限值如下所示:
1. Payment 5ms
2. Order-Status 5ms
3. Delivery 80ms
4. Stock-Level 20ms
3. 数据意义
10, 2286(0):1.373|1.590, 2283(0):0.279|0.398, 228(0):0.148|0.208, 229(0):1.604|1.863, 228(0):4.438|4.993
二到六列数值组成格式是: 成功执行的次数(推迟执行的次数):90%事务的相应时间|最大相应时间
这一行有6列数据,意思分别是 1. 第一列:因为是10秒输出一句,所以这里代表的数据是0-10秒之间的结果。
2. 第二列:这一列是总的结果
3. 第三列:新订单业务的结果
4. 第四列:支付业务的结果
5. 第五列:发货业务的结果
6. 第六列:库存业务的结果
这里我们主要关注总的结果就行了。
4. TmpC的意义
tpmC是代表每分钟事务处理的数量。
分析测试数据
# 分析测试结果,并保存到tpcc.ana文件中
sh tpcc-analyze.sh tpcc.out > tpcc.ana
# 正常情况下会进行多个测试,则需要对每个结果进行分析,并产生相应的分析结果
# 测试分类: 同配置,同线程数,不同测试时间; 同配置,不同线程数; 不同配置
sh tpcc-analyze.sh tpcc.out.1 > tpcc.ana.1
sh tpcc-analyze.sh tpcc.out.2 > tpcc.ana.2
sh tpcc-analyze.sh tpcc.out.3 > tpcc.ana.3
# 合并分析结果(此出为2个)
paste tpcc.ana.1 tpcc.ana.2 > tpcc-graph.data
绘图(使用分析结果)
gnuplot使用说明
./tpcc-graph-build.sh tpcc-graph.data tpcc-graph.jpg
附shell脚本
tpcc-analyze.shTIMESLOT=1
if [ -n \"$2\" ]
then
TIMESLOT=$2
echo “Defined $2″
fi
cat $1 | grep -v HY000 | grep -v payment | grep -v neword | awk -v timeslot=$TIMESLOT 'BEGIN { FS=”[,():]“; s=0; cntr=0; aggr=0 } /MEASURING START/ { s=1} /STOPPING THREADS/ {s=0} /0/ { if (s==1) { cntr++; aggr+=$2; } if ( cntr==timeslot ) { printf (“%d %3d\\n”,$1,(aggr/’$TIMESLOT’)) ; cntr=0; aggr=0 } }'
tpcc-graph-build.sh
#!/bin/bash
### goto user homedir and remove previous file
rm -f ‘$2′
gnuplot << EOP
### set data source file
datafile = ‘$1′
### set graph type and size
set terminal jpeg size 640,480
### set titles
set grid x y
set xlabel “Time (sec)”
set ylabel “Transactions”
### set output filename
set output ‘$2′
### build graph
# plot datafile with lines
plot datafile using 1:2 title “Test Result 1: XXX ” with lines, \
datafile using 3:4 title “Test Result 2: XXX ” with lines axes x1y1
EOP
参考:[1]: http://blog.csdn.net/kyle__shaw/article/details/9666661 [2]: http://www.mysqlperformanceblog.com/2013/07/01/tpcc-mysql-simple-usage-steps-and-how-to-build-graphs-with-gnuplot/[3]: http://blog.chinaunix.net/uid-25266990-id-4080103.html
gnuplot读取mysql数据库_Tpcc-MySQL测试并使用gnuplot生成图表相关推荐
- windows环境设置mysql数据库自动备份(测试成功)
windows环境设置mysql数据库自动备份(测试成功) 要实现数据库的自动备份就需要一下两步: 利用MySQL提供的备份命令mysqldump 结合Windows的任务计划程序 实现步骤 编写脚本 ...
- mysql longblob 读取_MySQL数据库之Mysql的longblob字段插入数据问题解决
本文主要向大家介绍了MySQL数据库之Mysql的longblob字段插入数据问题解决 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 在使用mysql的过程中,有个问题就是my ...
- mysql数据库,mysql数据库监控介绍
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBM ...
- 清空mysql注册表步骤_完全卸载MySQL 数据库清空MySql注册表
完全卸载MySQL 数据库--清空MySql注册表 完全卸载Mysql的步骤主要有以下4步: 1. 通过控制面板- 卸载程序--mysql 将其卸载掉. 2. 删除Mysql 安装文件目录下的Mysq ...
- mysql 数据库设置mysql注入_MYSQL数据库浅析MySQL的注入安全问题
<MYSQL数据库浅析MySQL的注入安全问题>要点: 本文介绍了MYSQL数据库浅析MySQL的注入安全问题,希望对您有用.如果有疑问,可以联系我们. 如果把用户输入到一个网页,将其插入 ...
- mysql 5.7.11 安装教程,MySQL数据库之mysql 5.7.11 安装配置教程
本文主要向大家介绍了MySQL数据库之mysql 5.7.11 安装配置教程 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 六步轻松搞定mysql5.7.11的安装 1.下载安 ...
- MySQL数据库卸载+MySQL常用的图形化管理工具介绍
MySQL数据库卸载 我们为什么需要卸载MySQL呢?可能是因为安装的时候安装出错,也可能是因为版本过低,导致一些问题没办法进行解决,所以需要卸载MySQL,重新安装最新版的MySQL. 第一步:停止 ...
- 带你走进MySQL数据库(MySQL入门详细总结一)
导读:关于MySQL用三篇文章带你进入MySQL的世界. 带你走进MySQL数据库(MySQL入门详细总结二) 带你走进MySQL数据库(MySQL入门详细总结三) 文章目录 1.MySQL 2.My ...
- MySQL数据库之压力测试
目录 引言 一.MySQL自带的压力测试工具--Mysqlslap 1.更改其默认的最大连接数 2.进行压力测试 二.使用第三方工具sysbench进行压力测试 1.简介 2.查看sysbench工具 ...
- Selenium3+MySQL数据库进行数据驱动测试
目录结构 1.准备SQL语句 - Sql.py #创建gloryroad数据库SQL语句 create_database = 'create database if not exists gloryr ...
最新文章
- verilog hdl数字集成电路设计原理与应用_数字IC设计经典书籍推荐
- 机器学习算法与Python实践之(六)二分k均值聚类
- iOS 修改UITabBar的默认点击行为
- codeforces1451 E. Bitwise Queries(位运算妙用)
- wbepack中output.filename和output.chunkFilename
- 单元测试debug过程中,显示variables are not available
- HyperLogLog 命令详解
- LINUX内核内存管理kmalloc,vmalloc
- 【转】彻底理解安卓里的ldpi、mdpi、hdpi、xhdpi、xxhdpi文件夹含义
- Bing翻译接口(V3版本)
- 清华大学2008年硕士生招生参考书目录
- 计算机专业如何发sci,sci到底难发不难发,有什么玄妙招数?
- Unity3d/2d手机游戏开发第二版 (金玺曾) 随书资源
- Windows DHCP Server不能主动有效释放租约过期IP解决办法
- 计算机与电气工程sci期刊,电气工程专业什么SCI期刊比较好
- oppo r5 android 7.1,OPPO R5的手机系统是什么?OPPO R5能升级安卓4.4吗?
- 1.10 python 基本数据类型-集合
- 获取JOP卡的版本与功能信息
- 计算机通过华为手机上网,华为手机网络怎么共享给电脑(必知网络共享3步曲)...
- 【Ubuntu版】制作U盘启动盘
热门文章
- php7 runkit,runkit - PHP 7 中文文档
- library的英语怎么读音_如何让你的英语口音无限接近母语者?英语语音语调的独家训练方法...
- win10多合一原版系统_手把手教你制作官方原版的WIN10系统安装盘
- matlab设计模拟高通滤波器
- Excel 中的日期格式变成时间戳
- java发送post请求json格式_go语言web开发框架学习系列二:Get、Post、Put等请求及数据返回格式...
- linux 停用用户,linux – 如何禁用用户的网络访问?
- Oracle执行计划稳固
- servlet ---- 简单案例
- .net core 部署在Linux系统上运行的环境搭建