首页 > 解决方案 > 我可以在 EC2/GoogleCloud 上的两个云计算实例之间获得的最低延迟是多少?

问题描述

我在同一地区制作了 2 个谷歌云实例。我用一个来 ping 另一个,我得到 rrt average = 0.4ms。我对两个 ec2 实例做了同样的事情,得到了相似的结果。

是否有可能使用任何谷歌或亚马逊的服务获得更快的时间?也许这两个实例在同一个盒子里?

标签: amazon-web-servicesnetworkinggoogle-cloud-platformrequestpacket

解决方案


对于可实现的最低往返时间没有客观答案。由于我对 AWS 更加熟悉,因此本答案的其余部分都集中在此处。

EC2 具有至少最初看起来相关的三个选项;然而,在进一步分析中,其中只有一个似乎适合并用于此目的。

专用主机是您所询问的名称 - 多个实例可以在同一主机上运行 - 但这些是作为一种节省许可成本的方式销售的(其中第 3 方软件许可与 CPU 插槽或其他硬件属性相关联)或合规性。文献没有提到延迟。共享同一物理主机的两个实例可能具有极好的延迟似乎一个合理的假设,但它们是吗?如果主机有多个网络连接(这似乎是合理的),那么“同一主机”可能不像听起来那么有意义。

专用主机的成本也非常高,因为您正在阻止 AWS 将该容量用于任何其他目的。如果您对此进行测试,请确保您不仅终止实例,还终止专用主机硬件,因为它们的起价为 0.449 美元/小时。

专用主机的另一个问题是,如果主机出现故障,则在其上运行的所有实例也将出现故障。最终,所有硬件都失败了。

专用实例是在同一硬件上可能拥有两个或更多实例的另一种方式。在主机硬件上配置了一个专用实例,该实例保留供您的帐户独占使用,但是有多个问题阻止了它的有用,这里。同样,这是一个面向合规性的功能,因此您无法控制(或可见)哪个host 正在托管一个给定的实例——您只知道 AWS 已同意(以换取费用)不在运行您的任何专用实例的同一硬件上从您自己以外的任何 AWS 账户预置实例。您账户中的其他(非专用)实例也可能在与您的专用实例相同的主机硬件上进行配置,但您看不到它。激活此功能会在您使用它的每个区域(不是每个实例)产生 2 美元/小时的附加费。

实现低延迟和冗余硬件的推荐方法是集群放置组

对于受益于低网络延迟、高网络吞吐量或两者兼有的应用程序,并且如果大部分网络流量在组中的实例之间,建议使用集群置放群组。要为您的置放群组提供最低延迟和最高每秒数据包网络性能,请选择支持增强联网的实例类型。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html#placement-groups-cluster

请务必注意您选择的实例类型是否支持增强网络,因为——如上所述——这对于实现最小延迟可能很重要。

集群置放群组功能不收费。您通常可以稍后将更多实例添加到现有置放群组,但如果由于与现有置放群组适当接近的基础设施缺乏容量而无法提供请求的置放位置,则将新实例启动到现有置放群组会失败组中的实例。停止和启动整个组可能会解决此问题,但建议在单个启动请求中启动组中的所有实例。


推荐阅读