操作步骤
场景一:如果是全新业务上线,硬件规格评估如下:
- CPU评估
计算公式:所需的CPU核心数 ≈ ( QPS * 平均查询耗时(ms) ) / ( 1000ms * CPU利用率目标 )
考虑因素:
- 对于OLTP系统,通常需要更多CPU核心(并发处理能力)。
- 对于OLAP系统,需要更高单核性能(计算能力)。
- 需预留20%~30%的CPU余量,应对峰值数据变化。
示例: 如果业务QPS为20000,平均查询耗时为3ms,CPU利用率目标为50%,那么CPU的核数 ≈ ( 20000 * 3 ) / ( 1000 * 50% ) = 120。
- 内存评估
计算公式:缓冲区大小 ≈ 热点数据量 + 连接数 × 每个连接内存消耗
考虑因素:
- 对于OLTP系统,缓冲区大小通常需要配置为数据总量的10%~20%。
- 对于OLAP系统,缓冲区大小通常需要配置为不低于数据总量的20%。
- 磁盘评估
- 网络评估
场景二:如果已有业务从Oracle数据库迁移至GaussDB数据库,硬件规格评估如下:
对于业务从Oracle数据库迁移到GaussDB数据库的场景,除了依据场景一的方法评估,还可以参照Oracle数据库的硬件规格,按照如下介绍对GaussDB对应的CPU、内存以及磁盘规格进行合理推算。
- 算力评估
Oracle数据库最大峰值CPU使用率 * Oracle数据库服务器的SPECrate值 ≤ ( GaussDB数据库宿主机的SPECrate值 / GaussDB数据库宿主机的CPU的核数 )* GaussDB数据库服务器CPU核数 * 60%
根据CPU性能评价指标SPECrate值和交易性数据库BenchmarkSQL测试值综合评估算力值,算力如下:
数据库
服务器型号
CPU型号
Socket数
核数
可用算力(SPECrate)
GaussDB数据库
-
Huawei Kunpeng 920
2路
96
200
Huawei Kunpeng 920
2路
128
250
Huawei Kunpeng 920
4路
256
325
Oracle数据库
华为2288HV5
Intel Xeon Gold 5120
2路
28
147
华为rh5885H
Intel Xeon E7-4850 v3
4路
56
200
-
Inte1 (R) Xeon(R) CPUE7-4850 v4
16路
256
851
根据上述公式和表格中的算力对比,评估GaussDB数据库需要的CPU核数。
- 并发量评估 要求业务SQL在Oracle数据库中的CPU_TIME不应超过0.5s,各规格的QPS上限值如下:
性能容量规格
性能指标(QPS)
(参照Oracle数据库复杂SQL类型为标准)
性能指标(TPS)
(参考TPCC标准事务模型)
256C/2048GB
批量:10.5万
联机:2.34万
20000
128C/1024GB
批量:8万
联机:2万
14000
96C/768GB
批量:6万
联机:1.8万
12000
80C/640GB
批量:5万
联机:1.5万
8000
32C/256GB
批量:2万
联机:0.7万
2600
16C/128GB
批量:1万
联机:0.35万
1300
如应用实际并发度QPS大于表中的上限值,需进一步按照Oracle数据库生产实际情况详细评估数据库是否需要拆分。
根据上述表格并发度QPS对应的性能容量规格,确定对应的CPU核数和内存容量。
- 磁盘评估
- Oracle数据库迁移至GaussDB数据库(按照BMS + FC + Dorado部署方式)后存储大小计算公式:
- GaussDB数据库中,存储容量达到85%之后触发数据库只读机制,需考虑各应用两年内数据增长量、以及防止数据库只读需预留空间,GaussDB数据库存储容量评估需按照以下公式评估:
Oracle数据库的数据使用量 * 1.2 + 150GB ≤ GaussDB数据库存储容量 ≤ 服务器存储上限*75%
- 1.2为Oracle数据库存储容量迁移到GaussDB数据库的数据膨胀倍数。
- 150GB为GaussDB数据库本地预留的日志空间大小。