1、TPC-C测试说明
TPC-C是业界常用的一套Benchmark,由TPC委员会制定发布,用于评测数据库的联机交易处理(偏向OLTP能力)。主要涉及10张表,包含了NewOrder(新订单的生成)、Payment(订单付款)、OrderStatus(最近订单查询)、Delivery(配送)和StockLevel(库存缺货状态分析)等五类业务事务模型。TPC-C使用tpmC值(Transactions per Minute)来衡量系统最大有效吞吐量(MQTh,Max Qualified Throughput),其中Transactions以NewOrder Transaction为准,即最终衡量单位为每分钟处理的新订单数。
2、测试设计
2.1测试数据量
针对普通实例性能测试,TPC-C测试结果主要基于1000 Warehouse,其中主要的表数据量如下:
-
-
- bmsql_order_line 3000万行
- bmsql_stock 1亿行
- bmsql_customer 10万行
- bmsql_history 900万行
- bmsql_oorder 3000万行
-
2.2测试所用实例规格
节点数:2 CPU: 2*鲲鹏920 内存:256G DDR4内存 硬盘:2*480G SSD 操作系统:麒麟V10 SP1 |
2.3测试数据库配置参数
人大金仓参数 |
MySQL参数 |
2.4监控指标
TPS:queries per seconds 每秒查询数量 QPS:Transaction per seconds 每秒事务数 cpu使用率:一般情况下上限为85%。 内存占用率:一般情况下上限为85%。 磁盘I/O: 1)监控磁盘实际I/O是否已接近最大值,接近则有问题; 2)I/O队列长度一直不为0,说明磁盘I/O有问题。 网络带宽(本次不做考虑):监控实际的网络流量,与网络带宽做对比,如果实际网络流量与网络带宽比较接近,则网络存在瓶颈,需要优化。(注意:实际中的百兆带宽是Mbps,但是我们技术中衡量的带宽的单位是MBps,1MBps=8Mbps【1Byte=8bit】,所以实际带宽=100/8=12.5) 慢查询:监控系统在运行时,所执行的所有sql语句,检查这些sql是否慢(设置一个时长,超过这个时长就是慢查询) 缓存命中率:监控业务执行过程中sql查询时的缓存命中率(查询语句读取缓存的次数占总查询次数的的比例,如果缓存命中率过低, |