首页 / MYSQL / tpcc-mysql 实践
tpcc-mysql 实践
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了tpcc-mysql 实践,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3733字,纯文字阅读大概需要6分钟。
内容图文
![tpcc-mysql 实践](/upload/InfoBanner/zyjiaocheng/914/f8dfee05c6aa460e9f2f987fd9640c24.jpg)
一、TPCC 介绍
- TPC:
全称Transaction Processing Performance Council
(事务处理性能委员会),是一家非盈利性组织,该组织制定各种商业应用的基准测试规范,任意厂商和个人,都可以按照其规范来开发自己的应用程序。 -
TPC-C:
是由 TPC 推出的一套基准测试程序,主要用于联机事务类应用的测试,最后的字母 C 是序号,因为在他之前有 TPC-A 和 TPC-B。使用的比较多的是 TPC-C,因为 TPCC 是套基准。
TPC-C 是专门针对联机交易处理系统(OLTP 系统)的规范,一般情况下我们也把这类系统称为业务处理系统
TPC-C 使用三种性能和价格度量,其中性能由 tpmC(transactions per minute,tpm)衡量,Cpm)衡量,C 指 TPC 中的 C 基准程序。它的定义是每分钟内系统处理的新订单个数。TPC-C 还经常以系统性能价格比的方式体现,单位是$/tpmC,即以系统的总价格(单位是美元)/tpmC 数值得出 -
TPCC-MYSQL:
由 Percona 基于 TPCC 规范开发的一套 mysql 基准测试程序。 -
测试指标:
TPC-C 测试的结果主要有两个指标,即流量指标(Throughput,简称 tpmC)。
流量指标(Throughput,简称 tpmC):按照 TPC 组织的定义,流量指标描述了系统在执行支付操作、订单状态查询、发货和库存状态查询这 4 种交易的同时,每分钟可以处理多少个新订单交易。所有交易的响应时间必须满足 TPC-C 测试规范的要求,且各种交易数量所占的比例也应该满足 TPC-C 测试规范的要求。在这种情况下,流量指标值越大说明系统的联机事务处理能力越高。
二、tpcc-mysql 安装
1.安装 bzr
# yum install bzr -y
2.下载 tpcc-mysql
# cd /usr/local/
# bzr branch lp:~percona-dev/perconatools/tpcc-mysql
下载完成后,当前目录下会有 tpcc-mysql 目录
3.编译安装 tpcc-mysql
# cd /usr/local/tpcc-mysql/src/
# make
如果没有报错,tpcc-mysql 就安装完成了。
安装完成后会生成两个可执行文件:tpcc_load
:用于初始化数据。tpcc_start
:用于执行基准测试。
三、tpcc-mysql 使用
一般分为下面 4 个步骤:
创建数据和表结构
加载数据
执行测试
测试结果解读分析
1.创建表和索引
创建库:
# mysql -uroot -punixfbi -h192.168.199.134 -e "create database tpcc;"
创建表结构:
# mysql -uroot -punixfbi -h192.168.199.134 tpcc < /usr/local/tpcc-mysql/create_table.sql
创建索引:
# mysql -uroot -punixfbi -h192.168.199.134 tpcc < /usr/local/tpcc-mysql/add_fkey_idx.sql
表的介绍:
# mysql -uroot -punixfbi -h192.168.199.134 -e "show tables from tpcc;"
+----------------+
| Tables_in_tpcc |
+----------------+
| customer | #用户表
| district | #分布表
| history | #历史记录表
| item | #订单详情表
| new_orders | #新订单表
| order_line |
| orders | #商品表
| stock |
| warehouse | #仓库相关表
+----------------+
2.初始化数据
先看看 tpcc_load 的用法吧
# ./tpcc_load -h
*************************************
*** ###easy### TPC-C Data Loader ***
*************************************
usage: tpcc_load [server] [DB] [user] [pass] [warehouse]
OR
tpcc_load [server] [DB] [user] [pass] [warehouse] [part] [min_wh] [max_wh]
* [part]: 1=ITEMS 2=WAREHOUSE 3=CUSTOMER 4=ORDERS
参数含义:
server:数据库 IP
DB:数据库名称
user:用户名
pass:密码
warehouse:仓库数量
执行下面的命令开始初始化数据:(仓库数我选择了 10 个)
# ./tpcc_load 192.168.199.134 tpcc root unixfbi 10
初始化成功最后会输出:
...DATA LOADING COMPLETED SUCCESSFULLY.
3.开始测试:
# ./tpcc_start --help
***************************************
*** ###easy### TPC-C Load Generator ***
***************************************
./tpcc_start: invalid option -- '-'
Usage: 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 -t trx_file
参数含义:
-w warehouses :仓库数量
-c connections:并发线程数
-r warmup_time:指定预热时间,以秒为单位,默认是 10 秒,主要目的是为了将数据加载到内存。
-l running_time:指定测试执行的时间,以秒为单位,默认是 20 秒。
-i report_interval:指定生成报告的间隔时间。
-f report_file:将测试中各项操作的记录输出到指定文件内保存。
-t trx_file:输出更详细的操作信息到指定文件内保存。
执行下面的命令:
内容总结
以上是互联网集市为您收集整理的tpcc-mysql 实践全部内容,希望文章能够帮你解决tpcc-mysql 实践所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。