本文提供数据迁移的性能数据。 本文提供的测试结果基于实际的性能测试。
注意事项
本文提供的性能数据仅在您规划数据传输工作负载的容量时用作参考。测试数据不能保证性能级别,迁移任务的实际性能可能与本文提供的数据不同。 有关DTS可保证的性能级别,请参见服务级别协议(SLA)。
名词解释
名词 | 说明 |
---|---|
规格 | 数据传输为用户提供的不同性能的链路规格,以增量迁移性能为衡量标准。 |
表数量 | 该测试方法中表的总数。 |
记录大小 | 增量数据迁移时每条记录的大小。 |
PRS | 表示在增量数据迁移的源端,每秒由于数据增删改(包括INSERT、UPDATE、DELETE等)产生的数据记录变化的数量。 |
说明
- 如果一条SQL语句中包含对多行数据的操作,DTS将该操作视为多个数据更新。 如果您多次对同一条数据记录执行INSERT、UPDATE或DELETE操作,DTS也会将这些操作视为多个数据更新。
- DTS将每次COMMIT操作均视为一个数据更新。
规格说明
数据迁移根据迁移链路的迁移性能上限,定义了五种规格:small、medium、large、xlarge、2xlarge。当满足以下条件时,各个规格的迁移性能上限才能达到下表中的性能上限。
- 源实例的压力要大于等于各规格对应的性能上限。
- 目标实例的写入性能不是瓶颈,能够支持各规格对应的性能压力。
- 源实例/目标实例与DTS服务器的网络延迟不大于2ms。
规格 | 性能上限(RPS) |
---|---|
small | 2,000 |
medium | 5,000 |
large | 6,000 |
xlarge | 7,000 |
2xlarge | 无限制。
说明 2xlarge规格的线上运行性能依赖于网络环境、源实例和目标实例的性能。
|
说明 由于线上运行性能受网络环境、源实例和目标实例性能的影响,表中性能上限仅供参考。
测试方法
创建两个RDS MySQL实例之间的增量迁移任务; 然后,对源RDS MySQL实例进行频繁更新的压力测试,并查看增量数据迁移的性能表现。
实例 | RDS实例配置 | 最大性能 |
---|---|---|
源实例 |
|
|
目标实例 |
|
|
- 测试表的数量为20。
- 每个测试表都有一个主键。
- 每条记录的大小为1 KB。
- 每个事务平均包含两个DML操作和一个COMMIT操作。 INSERT、UPDATE、DELETE操作的比例为3:1:2。
测试结果
源实例地域 | 目标实例地域 | 实例间网络延迟(毫秒) | 实例规格 | TPS | QPS |
---|---|---|---|---|---|
华东1(杭州) | 华东1(杭州) | 0.26 | small | 2,566 | 8,981 |
华东1(杭州) | 华东1(杭州) | 0.26 | medium | 4,726 | 16,541 |
华东1(杭州) | 华东1(杭州) | 0.26 | large | 6,378 | 23,204 |
华东1(杭州) | 华北1(青岛) | 26 | small | 2,469 | 8,641 |
华东1(杭州) | 华北1(青岛) | 26 | medium | 4,856 | 16,996 |
华东1(杭州) | 华北1(青岛) | 26 | large | 5,439 | 20,400 |
华东1(杭州) | 华北2(北京) | 26 | small | 2,533 | 8,866 |
华东1(杭州) | 华北2(北京) | 26 | medium | 5,038 | 17,633 |
华东1(杭州) | 华北2(北京) | 26 | large | 6,829 | 26,100 |
华东1(杭州) | 美国西部 1(硅谷) | 175 | small | 1,753 | 6,135 |
华东1(杭州) | 美国西部 1(硅谷) | 175 | medium | 2,837 | 9,929 |
华东1(杭州) | 美国西部 1(硅谷) | 175 | large | 3,884 | 15,500 |
亚太东南 1(新加坡) | 美国西部 1(硅谷) | 198 | small | 1,104 | 4,000 |
亚太东南 1(新加坡) | 美国西部 1(硅谷) | 198 | medium | 1,724 | 6,334 |
亚太东南 1(新加坡) | 美国西部 1(硅谷) | 198 | large | 2,256 | 8,300 |
说明 上表中的测试结果展示了配备不同实例规格的数据迁移任务能够达到的最大性能。 许多其他因素可能会影响增量数据迁移的性能。 例如,如果待迁移的表没有主键、网络延迟很高,或者如果源和目标数据库服务器的性能较低,则增量数据迁移的性能会降低。