当前位置: 首页 > 面试题库 >

AWS中的性能测试:如何保证带宽

郎喜
2023-03-14
问题内容

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

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

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

我对带宽有疑问,我无法从阅读的AWS文档中了解带宽是否存在限制?

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

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

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

另一个测试表明,使用3 c5d.9xlarge使用Internet网关,我获得的带宽上限为12 Gbit / s,但是我无法确定真正的限制是什么。

那我有什么选择呢?-不是VPC对等-可能有来自多台计算机的Internet网关,但是我想要一种保证-是否有更好的选择(Transit Gateway?)?


问题答案:

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

听起来完全不错,ELB可以轻松处理25 Gbps。

确保您的测试能反映出您的生产负荷。如果您的生产负载全部来自极少数来源,请复制该负载。如果它来自大量来源(例如,客户端应用程序的许多用户,每个用户都产生少量流量,从而导致大量的总流量),请确保您进行复制。如果您没有这种测试经验,可能会有细微的差别,而尽可能接近地再现真实环境是避免任何此类问题的最简单方法。

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

  • 蜜蜂用机枪
  • 宗宗

我对带宽有疑问,我无法从阅读的AWS文档中了解带宽是否存在限制?

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

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

另外,正如我稍后将更详细地提到的那样,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天前发布的。

另一个测试显示,使用Internet网关3 c5d.9xlarge,我获得的带宽上限为12 Gbits / s […]

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

实际上,没有“单个设备”是Internet网关。可以将其更多地看作是一个“标志”,它告诉VPC网络系统您的VPC拥有往返Internet的路径。

从Amazon VPC常见问题解答:

问:Internet网关是否有带宽限制? 我是否需要担心其可用性?可以是单点故障吗?

否。Internet网关是水平扩展的,冗余的并且高度可用。 它没有施加带宽限制。

那我有什么选择呢?-不是VPC对等-可能有来自多台计算机的Internet网关,但是我想要一种保证-是否有更好的选择(Transit
Gateway?)?

VPC对等可能是此处的最佳选择。如前所述,这并不限制您的带宽。检查其他类似我之前提到的内容:实例类型,操作系统,驱动程序等。

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

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



 类似资料:
  • 我正在做一个RESTAPI性能测试,在这里我必须同时做很多请求。为此,我使用了3个JMeter实例(1个主实例和2个从实例)。 为了让您有更多的竞争,我编写了一个包含2个线程组的JMeter脚本,每个组上有150个线程和一个恒定吞吐量计时器。 下面是我用来启动测试的命令行: 在这个命令行中,吞吐量是我针对3台服务器的总吞吐量(它的值除以vmnb,我的第三个变量,然后每个服务器执行这部分吞吐量),持

  • 为了保障组件的性能, 我们有的时候会从组件渲染的角度出发. 更干净的render函数? 这个概念可能会有点让人疑惑. 其实在这里干净是指我们在shouldComponentUpdate这个生命周期函数里面去做浅比较, 从而避免不必要的渲染. 关于上面的干净渲染, 现有的一些实现包括React.PureComponent, PureRenderMixin, recompose/pure 等等. 第一

  • 问题内容: CPU周期,内存使用率,执行时间等? 补充:除了感知代码运行的速度之外,还有定量的测试JavaScript性能的方法吗? 问题答案: 探查器绝对是获取数字的好方法,但是根据我的经验,感知的性能对用户/客户端至关重要。例如,我们有一个带有Ext手风琴的项目,该项目已扩展为显示一些数据,然后显示一些嵌套的Ext网格。实际上,所有内容的渲染速度都非常快,一次操作都不需要很长时间,一次渲染的信

  • 性能测试应该有两个方向: 单接口压力测试 生产环境模拟用户操作高压力测试 生产环境模拟测试,目前我们都是交给公司的 QA 团队专门完成的。这块我只能粗略列举一下: 获取 1000 用户以上生产用户的访问日志(统计学要求 1000 是最小集合) 计算指定时间内(例如 10 分钟),所有接口的触发频率 使用测试工具(loadrunner, jmeter 等)模拟用户请求接口 适当放大压力,就可以模拟

  • 目标 对ShardingSphere-JDBC,ShardingSphere-Proxy及MySQL进行性能对比。从业务角度考虑,在基本应用场景(单路由,主从+加密+分库分表,全路由)下,INSERT+UPDATE+DELETE通常用作一个完整的关联操作,用于性能评估,而SELECT关注分片优化可用作性能评估的另一个操作;而主从模式下,可将INSERT+SELECT+DELETE作为一组评估性能的

  • go1.6.2 linux/amd64 Ubuntu 16.04 amd64 虚拟机 2 个处理器核心 2 GB 内存 并行测试 BenchmarkParallelHprose2-2 200000 9239 ns/op 789 B/op 25 allocs/op BenchmarkParallelHprose2Unix-2