本文介绍数据迁移各链路规格的说明及性能测试情况。
注意事项
本文中提供的性能指标仅用于提供参考的测试数据,并不作为产品SLA的评判标准。
使用DTS可实现数据秒级增量迁移到目标实例,但受限于源实例的运行负载、传输网络的带宽、网络延时、目标实例写入性能等多种因素的影响,DTS增量迁移任务会出现延迟增大的情况,无法绝对保证秒级延迟。
名词解释
名词 | 说明 |
规格 | 数据传输为用户提供的不同性能的链路规格,以增量迁移性能为衡量标准。 |
表数量 | 该测试模型下表的总数。 |
记录大小 | 增量数据迁移时每条记录的大小。 |
RPS | 表示每秒增量迁移至目标表的数据行数,如每秒增量迁移源库5000行数据至目标表,则RPS为5000。 |
如果一条SQL语句中包含对多行数据的操作,则计为多条数据记录变化;对同一条记录反复增删改则计为多条数据记录变化。
每次COMMIT操作也会被计为一次数据记录变化的次数。
数据迁移规格说明
数据迁移根据迁移链路的迁移性能上限,定义了五种规格:small、medium、large、xlarge、2xlarge,当满足以下条件时,各个规格的迁移性能上限才能达到下表中的性能上限。
源实例的压力要大于等于各规格对应的性能上限。
目标实例的写入性能不是瓶颈,能够支持各规格对应的性能压力。
源实例/目标实例与DTS服务器的网络延迟小于等于2ms。
规格定义 | 性能上限(RPS)参考 |
small | 2,000。 |
medium | 5,000。 |
large | 6,000。 |
xlarge | 7,000。 |
2xlarge | 11,000。 |
规格的线上运行性能受网络环境、源实例和目标实例的性能、延迟等因素影响,实际的性能值会有差异,表中性能上限值仅供参考,不在SLA承诺范围内。
测试模型
测试流程:在两个RDS MySQL实例之间创建增量迁移任务,在源RDS MySQL上进行压测,检测增量数据迁移的性能表现。
实例 | RDS 实例配置 | 参考极限性能 |
源实例 |
|
|
目标实例 |
|
|
测试模型:
测试表数量为20。
测试表均有主键。
记录大小为1KB。
每个事务平均包含两条DML操作,一条COMMIT,其中INSERT、UPDATE、DELETE的比例为3:1:2。
测试结果
源实例地区 | 目标实例地区 | 实例间网络延迟(毫秒) | 规格 | RPS |
华东1(杭州) | 华东1(杭州) | 0.26 | small | 2,566 |
华东1(杭州) | 华东1(杭州) | 0.26 | medium | 4,726 |
华东1(杭州) | 华东1(杭州) | 0.26 | large | 6,378 |
华东1(杭州) | 华北1(青岛) | 26 | small | 2,469 |
华东1(杭州) | 华北1(青岛) | 26 | medium | 4,856 |
华东1(杭州) | 华北1(青岛) | 26 | large | 5,439 |
华东1(杭州) | 华北2(北京) | 26 | small | 2,533 |
华东1(杭州) | 华北2(北京) | 26 | medium | 5,038 |
华东1(杭州) | 华北2(北京) | 26 | large | 6,829 |
华东1(杭州) | 美国西部 1(硅谷) | 175 | small | 1,753 |
华东1(杭州) | 美国西部 1(硅谷) | 175 | medium | 2,837 |
华东1(杭州) | 美国西部 1(硅谷) | 175 | large | 3,884 |
亚太东南 1(新加坡) | 美国西部 1(硅谷) | 198 | small | 1,104 |
亚太东南 1(新加坡) | 美国西部 1(硅谷) | 198 | medium | 1,724 |
亚太东南 1(新加坡) | 美国西部 1(硅谷) | 198 | large | 2,256 |
上述测试模型的数据是各种数据迁移链路规格的极限性能,如果数据迁移的表没有主键、网络延迟大、存在更新热点或者源实例与目标实例存在性能瓶颈时,无法达到上表中的增量迁移性能。