tpcc是针对mysql单机制定的测试标准,
这个标准对于pxc集群来说要求太高,
所有后面即使有些项目没有通过也不必太过在意,主要是压一下事务处理能力。
Mysql单机虽然写入速度快,但相比于Mysql集群,单机能承受的并发能力远比不上集群,因为集群可以将并发访问分发到各个节点上一起承担。
而且集群同时还保障了数据库的高可用。
因为tpcc测试表中有一个history 表没有主键,所以需要关掉 pxc_strict_mode。
这些是Haproxy的配置:
这些是为编译tpcc的代码做准备:
接下来进行TPCC测试:
创建测试用的schema: tpcc
然后在下面位置找到两个sql文件:create_table.sql, add_fkey_idx.sql,按顺序在tpcc这个schema中执行。
生成测试数据【该步骤花费时间会比较长】
-w 参数标识创建多少个tpcc的销售仓库。
真正测试可以考虑多设置几个仓库,学习的话1个就够了,创建一个可能都需要半个小时。
-c 并发线程
-r 预热时间,单位为秒
-l 测试时间,单位为秒
真实测试时, -r可以设置为1小时, -l设置为24小时
如果运行过程中出现大量死锁提示,则可以把 –c 设置为1。
原因是 执行压力测试的时候,事务执行时间太久,没来及时提交,于是出现锁冲突。
测试结果:
sc:成功执行的次数
lt:超时执行的次数
rt:重复执行的次数
fl:失败的次数
第1行表示 新订单
第2行表示 支付订单
第3行表示 订单状态查询
第4行表示 发货业务
第5行表示 库存业务
事务的测试结果:
响应时间的测试结果( NG标识没通过,OK标识通过):
每分钟的执行事务数量: