同一区域内各区域之间的 AWS 延迟

问题描述 投票:0回答:4

我在同一区域

EC2
有一个
RDS
US East(N. Virginia)
,但两个资源位于不同的区域;
us-east-1a
中的 RDS 和
us-east-1b
中的 EC2。

现在的问题是,如果我将两个资源放在同一个

zone
中,那么它会加速与数据库之间的数据传输吗?我每天都会收到从应用程序到此实例的大约 20k-30k 条目。

编辑

我在这里读到:

每个可用区都是隔离的,但一个区域内的可用区通过低延迟链路连接起来。

现在我想知道这些

low-latency links
是否非常小,或者我是否应该考虑将资源转移到同一区域以加快数据传输速度?

enter image description here

结论

正如答案和评论中所讨论的:

  • 由于我只有一个
    EC2
    RDS
    实例,
    zone
    中的一项服务失败将会影响整个系统。因此,将它们放在单独的区域中没有任何优势。
  • 尽管
    zones
    low-latency links
    连接在一起,但仍然存在一些延迟,在我的情况下,这是可以忽略不计的。
  • 不同区域的
  • EC2RDS
     之间还需支付 
    USD 0.01/GB
     的小额数据传输费用。
amazon-web-services latency amazon-vpc aws-regions
4个回答
16
投票

同一区域内域间数据传输的典型值是多少?

虽然 AWS 不会保证、声明或以其他方式承诺硬性数字,但典型的测量时间为 10 毫秒以下,我所看到的数字约为 3 毫秒。

延迟如何影响数据传输吞吐量?

延迟越高,最大带宽越低。这里有很多因素需要考虑。

Brad Hedlund 写了一篇出色的论文。

我是否应该担心同一区域内区域之间的 AWS 网络延迟?

除非您使用具有非常高性能的网络适配器(10 Gb 或更高)的最新实例,否则我不会担心。除了最特殊的情况之外,容错的好处应该优先考虑。

对于您的数据库事务用例,1 毫秒和 10 毫秒之间的差异对事务性能的影响极小(如果有的话)。

但是,除非您在多个区域中使用多个 EC2 实例,否则您希望单个 EC2 实例与 RDS 位于同一区域中。如果您位于两个区域,则任一区域的故障都会导致您的配置瘫痪。

有时延迟和网络带宽非常重要。对于这种特殊情况,AWS 提供了放置组,以便 EC2 实例基本上位于同一机架中并紧密相连,从而将延迟降至最低。


7
投票
将资源移动到相同的可用区会减少很少的延迟。

请参阅此处了解一些非官方基准。对于每天 20k 读/写的用例,这不会产生巨大的差异。

但是,将资源移动到同一可用区将显着提高您案例的可靠性。如果您只有 1 个相互依赖的数据库和 1 个计算实例,则没有理由将它们放在单独的可用区中。对于您当前的架构,

us-east-1a

us-east-1b
 的失败都会导致您的项目失败。除非您计划扩展项目以拥有多个数据库和计算实例,否则它们应该驻留在同一可用区中。


0
投票
根据一些测试,我可以看到同一区域内的可用区域之间有大约 600 微秒(0.6 毫秒)的延迟。光纤每公里有 5 微秒的延迟(延迟),并且 az 之间的距离小于 100 公里,因此结果匹配。


0
投票
来自

https://aws.amazon.com/blogs/architecture/improving-performance-and-reducing-cost-using-availability-zone-affinity/ 官方博客说了一些关于跨 AZ 延迟的内容:

可用区与同一 AWS 区域中的其他可用区在物理上相隔一段有意义的距离,尽管它们彼此之间的距离都在 60 英里(100 公里)以内。

https://docs.aws.amazon.com/whitepapers/latest/aws-fault-isolation-boundaries/availability-zones.html 本文档中也提到了:

区域中的可用区彼此之间的距离很远,最远可达 60 英里(约 100 公里),以防止相关故障,但又足够近,可以使用具有个位数毫秒延迟的同步复制。

基于光纤内的光速(~0.2M km/sec),与物理位置直接相关的跨AZ延迟应在0.5ms以内,即RTT通常应在1ms以内。

但在现实世界中,您需要添加网络设备和网卡产生的延迟。

© www.soinside.com 2019 - 2024. All rights reserved.