您现在的位置是:大侠虫手游 > 游戏杂谈 > cs lt

cs lt

分类:游戏杂谈时间:2024-09-19 14:57:06阅读:68460
概述

TPC-C是专门针对联机交易处理系统(OLTP系统)的规范,一般情况下我们也把这类系统称为业务处理系统。tpcc-mysql是percona基于TPC-C(下面简写成TPCC)衍生出来的产品,专用于MySQL基准测试。其源码放在launchpad上,用bazaar管理。

一、 安装tpcc-mysql

1、下载源码包

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

官方github:https://github.com/Percona-Lab/tpcc-mysql

wget https://codeload.github.com/Percona-Lab/tpcc-mysql/zip/master

tpcc-mysql的业务逻辑及其相关的几个表作用如下:

New-Order:新订单,一次完整的订单事务,几乎涉及到全部表\nPayment:支付,主要对应 orders、history 表\nOrder-Status:订单状态,主要对应 orders、order_line 表\nDelivery:发货,主要对应 order_line 表\nStock-Level:库存,主要对应 stock 表\n\n其他相关表:\n客户:主要对应 customer 表\n地区:主要对应 district 表\n商品:主要对应 item 表\n仓库:主要对应 warehouse 表

2、编译安装编译非常简单,只需要一个 make 即可。

unzip tpcc-mysql-master.zip -d /usr/local/\ncd /usr/local/tpcc-mysql-master/src\nmake

如果 make 没有报错,就会在/usr/local/tpcc-mysql-master下生成 tpcc 二进制命令行工具 tpcc_load 、 tpcc_start

3、配置环境变量

echo \"export PATH=$PATH:/usr/local/tpcc-mysql-master\" >> /etc/profile\nsource /etc/profile二、TPCC测试前准备

1、创建测试数据库

set global validate_password_policy=0;\ncreate database tpcc; \ngrant all privileges on tpcc.* to tpcc@'%' identified by 'tpcc@1234';\nflush privileges;

2、初始化测试库环境

#创建表\nmysql -uroot -p -h 172.26.151.78 -D tpcc < /usr/local/tpcc-mysql-master/create_table.sql \n#创建FK和索引\nmysql -uroot -p -h 172.26.151.78 -D tpcc < /usr/local/tpcc-mysql-master/add_fkey_idx.sql

3、加载测试数据

tpcc_load用法如下:

tpcc_load [server] [DB] [user] [pass] [warehouse] \ntpcc_load [server] [DB] [user] [pass] [warehouse] [part] [min_wh] [max_wh]

选项 warehouse 意为指定测试库下的仓库数量。

真实测试场景中,仓库数一般不建议少于100个,视服务器硬件配置而定,如果是配备了SSD或者PCIE SSD这种高IOPS设备的话,建议最少不低于1000个。

执行下面的命令,开始灌入测试数据:

tpcc_load -h 172.26.151.78 -P 3306 -d tpcc -u tpcc -p tpcc@1234 -w 5

在这里,需要注意的是 tpcc 默认会读取 /var/lib/mysql/mysql.sock 这个socket 文件。

cs lt

cs lt

cs lt

ps:tpcc并行加载脚本项目链接 tpcc_load_parallel.sh,加载效率至少提升10倍以上。

三、TPCC压测tpcc_start 工具用于tpcc压测,其用法如下:

tpcc_start -h server_host -P port -d database_name -u mysql_user -p mysql_password \\\n-w warehouses -c connections -r warmup_time -l running_time -i report_interval -f report_file

几个选项稍微解释下

-w 指定仓库数量\n-c 指定并发连接数\n-r 指定开始测试前进行warmup的时间,进行预热后,测试效果更好\n-l 指定测试持续时间\n-i 指定生成报告间隔时长\n-f 指定生成的报告文件名

实例:

tpcc_start -h 172.26.151.78 -P 3306 -d tpcc -u tpcc -p tpcc@1234 \\\n -w 5 -c 16 -r 120 -l 60 -f tpcc_mysql.log >> tpcc_run_result.log 2>&1

cs lt

说明:模拟5个仓库规模,并发 16个线程进行测试,热身时间为 120秒, 压测时间为 60秒。

真实测试场景中,建议预热时间不小于5分钟,持续压测时长不小于30分钟,否则测试数据可能不具参考意义。

四、TPCC测试结果解读

测试结果输出如下:

***************************************\n***

相关文章

    热门文章

    最新文章