
# 操作步骤
场景一：如果是全新业务上线，硬件规格评估如下：
- 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%。
   
- 磁盘评估
  - 容量计算 计算公式：总需求 = 数据量 \* ( 1 + 副本数 )
    考虑因素：通常预留30%\~40%的额外空间作为未来数据增长和临时数据落盘使用。GaussDB数据库中，当磁盘超过85%占用时，会触发只读机制，因此须保证磁盘空间使用率不要超过85%。
    
  
  - 性能考量 计算公式：IOPS需求 = ( 读QPS \* 读比例 ) + ( 写QPS \* 写比例 )
    考虑因素：预留20%\~30%的余量，应对业务峰值数据变化，延迟敏感型业务选择SSD/NVMe磁盘。
    
   
- 网络评估
  - 带宽需求 估算每秒数据传输量 = ( 平均查询返回大小 \* QPS ) + ( 平均事务数据量 \* TPS )
    考虑因素：需要考虑备份、复制等额外流量，预留充足带宽，保证业务正常。
    
  
  - 延迟要求 分布式部署形态对节点间延迟敏感，建议内网延迟\<1ms。
    
   
场景二：如果已有业务从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            |
  | GaussDB数据库 | -         | Huawei Kunpeng 920             | 2路      | 128 | 250            |
  | GaussDB数据库 | -         | Huawei Kunpeng 920             | 4路      | 256 | 325            |
  | Oracle数据库  | 华为2288HV5 | Intel Xeon Gold 5120           | 2路      | 28  | 147            |
  | Oracle数据库  | 华为rh5885H | Intel Xeon E7-4850 v3          | 4路      | 56  | 200            |
  | Oracle数据库  | -         | Intel(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数据库存储容量 ≈ Oracle数据库的数据使用量 ＊ 1.2 + 150GB
    
  
  - GaussDB数据库中，存储容量达到85％之后触发数据库只读机制，需考虑各应用两年内数据增长量、以及防止数据库只读需预留空间，GaussDB数据库存储容量评估需按照以下公式评估： Oracle数据库的数据使用量 ＊ 1.2 + 150GB ≤ GaussDB数据库存储容量 ≤ 服务器存储上限＊75%
    
  
  
  ![](https://support.huaweicloud.com/bestpractice-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  - 1.2为Oracle数据库存储容量迁移到GaussDB数据库的数据膨胀倍数。
  
  - 150GB为GaussDB数据库本地预留的日志空间大小。
    
 
