首页 > 解决方案 > AWS 中的性能测试:如何保证带宽

问题描述

我需要针对基于 Elastic Beanstalk 的应用程序运行性能测试,该应用程序位于 ELB 前面的 AWS 中。我预计流量约为 25 Gbit/s

根据 AWS 要求,我正在使用我的 AWS 组织的另一个账户(专用于测试)。该应用程序是我的 AWS 组织的另一个账户中的生产应用程序。

我的性能测试将使用生产网站的 DNS 条目,它将由具有 Internet 网关的 VPC 子网中的 EC2 实例执行。

我对带宽有疑问,从我阅读的 AWS 文档中我不明白是否会有带宽限制?

从这个答案看来我可能会面临这样的问题:

在这种情况下,我如何运行反映生产中发生的情况的性能测试,即通过指向 ELB 的 DNS 条目。

假设我在测试账户 VPC 和生产 VPC 之间创建了对等连接,最大带宽是多少?

我的测试表明,使用 3 c5d.9xlarge 使用 VPC 对等连接,我只能获得大约 10 Gbits/s,因此无论实例数量如何,它都是最大值。

另一项测试表明,在 3 c5d.9xlarge 使用 Internet 网关的情况下,我得到的带宽上限约为 12 Gbits/s,但我不知道真正的限制是什么。

那么我的选择是什么?- VPC Peering 不是 - 来自多台机器的 Internet 网关可能是,但我想要一种保证 - 是否有更好的选择(中转网关?)?

标签: amazon-web-servicesperformancejmeteramazon-elastic-beanstalkperformance-testing

解决方案


我需要针对基于 Elastic Beanstalk 的应用程序运行性能测试,该应用程序位于 ELB 前面的 AWS 中。我预计流量约为 25 Gbit/s

这听起来很好,ELB 可以轻松处理 25 Gbps。

确保您的测试反映了您的生产负载将是什么样的。如果您的生产负载全部来自极少数来源,请复制它。如果它来自大量来源(例如,客户端应用程序的大量用户,每个用户都会产生一点流量,从而产生大量的总流量),请确保复制它。如果您在这种测试中没有经验,可能会有一些细微差别,并且尽可能接近地再现真实环境是避免任何这些问题的最简单方法。

要使用大量相对低带宽的源进行测试,请查看以下项目:

我对带宽有疑问,从我阅读的 AWS 文档中我不明白是否会有带宽限制?

AWS 中的某些组件有带宽限制,而有些则没有。

具体来说,每个 EC2 实例都有其支持的最大带宽,具体取决于实例类型。此外,您应该知道,即使给定的 EC2 实例类型支持特定带宽,您也需要确保在该实例上运行的操作系统支持该带宽。这通常意味着您需要确保使用正确的驱动程序。根据我的经验,只要您使用可用的最新版本的 Amazon Linux,一切都应该“正常工作”。

此外,正如我稍后将详细提到的,VPC 对等连接和 Internet 网关限制带宽。

假设我在测试账户 VPC 和生产 VPC 之间创建了对等连接,最大带宽是多少?

VPC 对等连接不是带宽瓶颈。也就是说,它们不会限制您通过对等连接所拥有的带宽量。

来自Amazon VPC 常见问题

    问:对等连接是否有任何带宽限制?

    对等 VPC 中实例之间的带宽与同一 VPC 中实例之间的带宽没有区别。

[nb:常见问题中有关于归置组的说明,但你没有提到,所以我删除了它;如果您正在使用该功能,请澄清,因为根据您最初在问题中描述的内容,您很可能不应该使用它]

我的测试表明,使用 VPC 对等连接的 3 个 c5d.9xlarge,我只能得到大约 10 Gbits/s

c5d.9xlarge 实例类型限制为 10 Gbps。因此,如果您将其用于测试,您将永远不会看到超过 10 Gbps 的实例。

更多信息:Amazon EC2 C5 实例

此外,请确保检查EC2 C6g 实例。我没有亲自使用过它们,但它们应该更快且成本更低:它们仅在 2 天前发布

另一项测试表明,在 3 个 c5d.9xlarge 使用 Internet 网关时,我得到的带宽上限为 12 Gbits/s [...]

互联网网关不是带宽瓶颈。换句话说,互联网网关没有带宽限制。

事实上,没有“单一设备”是互联网网关。更多地将其视为一个“标志”,它告诉 VPC 网络系统您的 VPC 具有进出 Internet 的路径。

来自Amazon VPC 常见问题

    问:互联网网关是否有任何带宽限制?我需要担心它的可用性吗?会不会是单点故障?

    不会。Int​​ernet 网关是水平扩展的、冗余的和高度可用的。它不施加带宽限制。

那么我的选择是什么?- VPC Peering 不是 - 来自多台机器的 Internet 网关可能是,但我想要一种保证 - 是否有更好的选择(中转网关?)?

VPC Peering 可能是这里的最佳选择。正如我所提到的,它不会限制您的带宽。检查我之前提到的其他内容:实例类型、操作系统、驱动程序等。

为此使用 Internet 网关意味着,从路由的角度来看,您的流量正在“离开 AWS”并“进入 Internet”(即使在物理上,它可能永远不会真正离开 AWS 的物理设备)。这意味着,从计费的角度来看,您需要支付“数据传输到 Internet”的费用。它们明显高于您为 VPC 对等互连支付的费用。

我认为这里不需要中转网关,因为您描述的场景非常简单,可以通过 VPC 对等连接来解决。


推荐阅读