本文介绍数据迁移各链路规格的说明及性能测试情况。

注意事项

本文中提供的性能指标仅用于提供参考的测试数据,并不作为产品SLA的评判标准。

名词解释

名词 说明
规格 数据传输为用户提供的不同性能的链路规格,以增量迁移性能为衡量标准。
表数量 该测试模型下表的总数。
记录大小 增量数据迁移时每条记录的大小。
RPS 表示在增量数据迁移的源端,每秒由于数据增删改(包括INSERT、UPDATE、DELETE等)产生的数据记录变化的数量。
说明
  • 如果一条SQL语句中包含对多行数据的操作,则计为多条数据记录变化;对同一条记录反复增删改则计为多条数据记录变化。
  • 每次COMMIT操作也会被计为一次数据记录变化的次数。

数据迁移规格说明

数据迁移根据迁移链路的迁移性能上限,定义了四种规格:small、medium、large、2xlarge,当满足以下条件时,各个规格的迁移性能上限才能达到下表中的性能上限。
  • 源实例的压力要大于等于各规格对应的性能上限。
  • 目标实例的写入性能不是瓶颈,能够支持各规格对应的性能压力。
  • 源实例/目标实例与DTS服务器的网络延迟小于等于2ms。
规格定义 性能上限(RPS)参考
small 2,000。
medium 5,000。
large 6,000。
xlarge 7,000。
2xlarge 无限制。
说明 large规格的线上运行性能依赖于网络环境、源实例和目标实例的性能。
说明 由于线上运行性能受网络环境、源实例和目标实例性能的影响,表中性能上限仅供参考。

测试模型

测试流程:在两个RDS MySQL实例之间创建增量迁移任务,在源RDS MySQL上进行压测,检测增量数据迁移的性能表现。

表 1. 测试环境配置
实例 RDS 实例配置 参考极限性能
源实例
  • 实例规格:rds.mys2.8xlarge
  • 内存:48,000MB
  • 最大连接数:2,000
  • 最大QPS:18,000
  • 最大IOPS:14,000
目标实例
  • 实例规格:rds.mys2.8xlarge
  • 内存:48,000MB
  • 最大连接数:2,000
  • 最大QPS:18,000
  • 最大IOPS:14,000

测试模型:

  • 测试表数量为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
说明 上述测试模型的数据是各种数据迁移链路规格的极限性能,如果数据迁移的表没有主键、网络延迟大、存在更新热点或者源实例与目标实例存在性能瓶颈时,无法达到上表中的增量迁移性能。