1 计算资源容量评估主要流程
一般地是经过以下5个流程评估GaussDB的计算容量:
2 TPC-C基准测试介绍
1)TPC-C是业界常用的一套Benchmark
由TPC (Transaction Processing Performance Council)委员会制定发布,用于 评测数据库的联机交易处理(偏向OLTP)能力,测试结果数据并不代表生产 业务的多样性,仅供容量评估参考。
2)TPC-C模拟一个批发商的货物管理环境
该批发公司有N个仓库,每个仓库供应10个地区,其中每个地 区为3000名顾 客服务。在每个仓库中有10个终端,每一个终端用于一个地区。
3)五种交易类型以及比例
请求类型 |
描述 |
比例 |
New-Oder新订单 |
客户输入一笔新的订货交易 |
45% |
Payment 付款 |
更新客户账户余额以反映其支付状况 |
43% |
Delivery 发货 |
发货(模拟批处理交易) |
4% |
Order-Status 订单查询 |
查询客户最近交易的状态 |
4% |
Stock-Level 查库存 |
查询仓库库存状况,以便能够及时补货 |
4 |
3 度量单位tpmC 、tpm和tps的定义和换算公式
tpmC
每分钟内系统处理的新订单个数,tpm是transactions per minute的简称, C标 识了TPC中的C基准程序。注意:新订单请求只占全部事务请求的45% 。
tpm
每分钟处理的事务个数, transactions per minute的简称
tps
每秒处理的事务个数, transactions per second的简称
换算公式: 1tpmC = (1/0.45)/60 tps
吞吐量
由于新订单占比固定为45%,实际系统总吞吐量约为tpmC值的2.2倍(例如1000tpmC对应每分钟处理约2200个事务)
吞吐量=tpmc*2.22
4 如何调研客户业务系统tps要求
4.1 存量业务替换数据库场景
主流关系型数据库都可以查询tps指标,可以找DBA统计存量数据库核心时间段 平均tps。
4.2 新建业务规划数据库场景
1)估算系统每天的业务量T0
比如系统拥有用户1000w,每天20%用户操作平均使用3次, T0 = 1000w ×0.2 ×3 = 600w 业务量。
2)估算系统每天的核心时间段计算每分钟业务量T1
比如80%业务处理时间分布在上午10: 00-12: 00和下午14:00-16:00,T1 = T0 × 0.8 ÷ ( 4 × 60)= 600w × 0.8 ÷( 4 × 60)= 2w 每分钟业务量
3)估算系统每次核心业务操关联的事务个数 n
比如每个核心业务操作会产生6个数据库事务,那么n = 6
4)计算系统需要每分数据库事务tpm = (T1 × n) = 12w
业务初始需求tps = tpm ÷ 60 = 2000
5 如何评估业务系统事务量扩展策略
根据每年业务系统事务量增长情况评估扩展策略
5.1 存量业务替换数据库场景
可以根据业务系统历史数据统计每年事务的平均增长。
5.2 新建业务规划数据库场景
需要根据客户业务发展计划预测。比如某企业客户A的某业务系统内部使用,比较稳定,无需考虑扩展。
比如某金融客户B的某业务系统预计每年同比增长20%,需要考虑未来3年的算 力扩展需求。
业务需求tps = 初始需求tps × 1.2 × 1.2 × 1.2
比如某互联网客户C的某业务系统预计每年同比增长200%,需要考虑未来3年 的算力扩展需求。
业务需求tps = 业务初始需求tps × 3 × 3 × 3
计算公式:
业务需求tps =业务初始需求tps ×( 1 + 年平均增长百分比)年数
6 如何评估业务系统事务量预留策略
服务器资源预留比例不同企业的数据中心要求不一样,一般建议CPU 和内存利用率小于70% 。
比如某金融客户A的某业务系统,要求资源利用率平均小于50%
业务需求tps =业务初始需求tps ÷ 0.5
比如某互联网客户B的某业务系统,要求资源利用率平均小于70%
业务需求tps =业务初始需求tps ÷ 0.7
计算公式
业务需求tps = 业务初始需求tps ÷ 资源利用率控制水位
7 如何评估生产系统和TPC-C模型复杂度差异
1)不同客户生产系统的业务模型也不一样,和TPC-C的模型差异或大或 小,业界并无固定算法。
2)客户可以根据自身行业的业务特征验证积累“行业经验系数”进行折算