文档中心MogDBMogDB StackUqbar
v1.1

文档:v1.1

支持的版本:

其他版本:

性能测试简述


测试相关指标

数据量

每个仓库约70MB数据量,为了让数据量更加符合实际使用场景,初始化创建1000个仓库,添加相关索引后,数据库大小在100G左右。


并发数

模拟真实的用户行为,同时在线请求操作的客户端数量。


系统平均负载

系统负载指系统CPU繁忙程度的度量,即有多少进程在等待被CPU调度,反应整个系统的压力,而系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树,这个一段时间一般取1分钟、5分钟、10分钟。


CPU使用率

CPU使用率其实是指运行的程序占用的CPU资源,表示你的机器在某个时间点的运行程序的情况。使用率越高,说明你的机器在这个时间上运行了很多程序,反之较少。使用率的高低与CPU强弱有直接关系,通过CPU的使用率来判断CPU是否达到瓶颈。


IOPS

IOPS(Input/OutputOperatIOns Per Second)是一个用于计算机存储设备(如硬盘(HDD)、固态硬盘(SSD)或存储区域网络(SAN))性能测试的量测方式,可以视为是每秒的读写次数,是衡量磁盘性能的主要指标之一。IOPS是指单位时间内系统能处理的I/O请求数量,一般以每秒处理的I/O请求数量为单位,I/O请求通常为读或写数据操作请求。


IO延时

IO响应时间也被称为IO延时(IOLatency),IO响应时间就是从操作系统内核发出的一个读或者写的IO命令到操作系统内核接收到IO回应的时间,注意不要和单个IO时间混淆了,单个IO时间仅仅指的是IO操作在磁盘内部处理的时间,而IO响应时间还要包括IO操作在IO等待队列中所花费的等待时间。


tpmC

TPC-C使用三种性能和价格度量,其中性能由TPC-C吞吐率衡量,单位是tpmC。tpm是transactions per minute的简称;C指TPC中的C基准程序。它的定义是每分钟内系统处理的新订单个数。


准备测试程序

测试工具介绍

BenchmarkSQL是一款经典的开源数据库测试工具,内嵌了TPC-C测试脚本,可以对PostgreSQL、MySQL、Oracle以及SQL Server等数据库直接进行测试。它通过JDBC测试OLTP(联机事务处理, Online TransactIOn Processing)的TPC-C。


测试规范说明

TPC-C 是一个对 OLTP(联机交易处理)系统进行测试的规范,使用一个商品销售模型对 OLTP 系统进行测试,其中包含五类事务, 其事务内容及特点如下:

  • NewOrder - 新订单的生成

    事务内容: 对于任意一个客户端,从固定的仓库随机选取 5-15 件商品,创建新订单.其中 1%的订单要由假想的用户操作失败而回滚。

    主要特点: 中量级、读写频繁、要求响应快。

  • Payment - 订单付款

    事务内容: 对于任意一个客户端,从固定的仓库随机选取一个辖区及其内用户,采用随机的金额支付一笔订单,并作相应历史纪录。

    主要特点: 轻量级、读写频繁、要求响应快。

  • OrderStatus - 最近订单查询

    事务内容: 对于任意一个客户端,从固定的仓库随机选取一个辖区及其内用户,读取其最后一条订单,显示订单内每件商品的状态。

    主要特点: 中量级、只读频率低、要求响应快。

  • Delivery - 配送

    事务内容: 对于任意一个客户端,随机选取一个发货包,更新被处理订单的用户余额,并把该订单从新订单中删除。

    主要特点: 1-10 个批量,读写频率低、较宽松的响应时间。

  • StockLevel - 库存缺货状态分析

    事物内容: 对于任意一个客户端,从固定的仓库和辖区随机选取最后 20 条订单,查看订单中所有的货物的库存,计算并显示所有库存低于随机生成域 值的商品数量。

    主要特点: 重量级,只读频率低,较宽松的响应时间。


测试规则描述

在测试开始前,TPC-C Benchmark 规定了数据库的初始状态,也就是数据库中数据生成的规则,其中 ITEM 表中固定包含 10 万种商品,仓库的数量可进行调整,本次测试初始化WAREHOUSE 表中有 1000 条记录,那么:

  • STOCK 表中应有 1000 * 10 万条记录(每个仓库对应 10 万种商品的库存数据)
  • DISTRICT 表中应有1000 * 10 条记录(每个仓库为 10 个地区提供服务)
  • CUSTOMER 表中应有 1000 * 10 * 3000 条记录(每个地区有 3000 个客户)
  • HISTORY 表中应有 1000 * 10 * 3000 条记录(每个客户一条交易历史)
  • ORDER 表中应有 1000 * 10 * 3000 条记录(每个地区 3000 个订单),并且最后生成的 900 个订单被添加到 NEW-ORDER 表中,每个订单随机生成 5 ~ 15 条 ORDER-LINE 记录。

TPC-C 使用 tpmC 值(Transactions per Minute)来衡量系统最大有效吞吐量 (MQTh, Max Qualified Throughput),其中 Transactions 以 NewOrder Transaction 为准,即最终衡量单位为每分钟处理的新订单数。

Copyright © 2011-2024 www.enmotech.com All rights reserved.