测试新加坡区域ap-southeast-1的AZ间延迟

一、背景

某些应用如SAP HANA System Replication(HSR)等,需要两个EC2分别运行在不同AZ,并且要求低于1ms的网络延迟。那么如何在AZ之间测试呢?

实验环境为在新加坡区域ap-southeast-1的三个AZ对应的私有子网,分别创建3个EC2,其EC2配置为:

  • 机型:c5.large,配置2vCPU/4GB
  • 处理器:Intel® Xeon® Platinum 8275CL CPU @ 3.00GHz
  • 网络:up-to 10Gbps

注意不要选择t系列机型,t系列机型为爆发型,其CPU算力、网络吞吐都是弹性机制,适合空闲时间很长、繁忙时间很短的开发、测试环境使用。做性能测试,建议使用c/m/r等用于生产用途的EC2系列机型。

二、测试过程

测试为ping的默认参数,加数量-c=100的限制,然后看平均值和最大值。以下表格,竖列表示从本机发起,横向表示要访问的可用区。数据0.826/1.266前一个表示平均值是0.826ms,最大值是1.266ms

1、第一轮测试

测试AZ1AZ2AZ3
AZ1我自己0.826/1.2660.590/1.130
AZ20.816/0.850我自己0.671/1.313
AZ30.581/0.6040.664/0.830我自己

第一轮测试中,平均值都小于1ms,但是部分AZ之间的最大延迟超过了1ms。

2、第二轮测试

间隔15分钟后发起第二轮测试:

测试AZ1AZ2AZ3
AZ1我自己0.821/0.8440.587/0.748
AZ20.816/0.849我自己0.666/0.726
AZ30.582/0.6030.662/0.674我自己

第二轮测试中,所有AZ的平均延迟都小于1ms,与第一轮测试在同一个数量级。且这一轮测试,最大延迟都低于1ms,且非常接近平均值。没有遇到最大延迟偶发的超过1ms的情况。

3、第三轮测试

间隔15分钟后发起第三轮测试:

测试AZ1AZ2AZ3
AZ1我自己0.823/0.8900.587/0.604
AZ20.817/0.835我自己0.668/0.850
AZ30.581/0.603/0.660/0.681我自己

第三轮测试中,所有AZ的平均延迟都小于1ms,与第二轮测试在同一个数量级。且这一轮测试,最大延迟都低于1ms,且非常接近平均值,没有遇到最大延迟偶发的超过1ms的情况。

三、结论

以上测试可以获得结论如下:

  • AZ之间的由于地理位置的不同,因此延迟是不相等的;
  • 在平均延迟上,从三次测试来看是始终低于1ms的。AZ1和AZ3之间的延迟最小,其次是AZ2和AZ3之间。最差的是AZ1和AZ2之间;
  • 在最大延迟上,可看到几次测试稍有浮动,第一次测试遇到最大延迟超过1ms的情况,但是后续测试则没有遇到这种情况。因此可以判断是偶发的抖动。

最后,如果有延迟敏感型应用例如SAP HANA System Replication(HSR)等高可用,可在进行测试后,有针对性的选择实际部署的可用区。以新加坡区域为例,建议首选在AZ1和AZ3之间构建延迟敏感型应用,备选AZ2和AZ3之间。

新加坡Region之外的其他区域,也可以参考本文相同流程进行测试。