在负载测试时,网络“距离”是一个因素吗?

在负载测试时,网络“距离”是一个因素吗?

我有一个在弹性负载均衡器后面的 EC2 上运行的服务器应用程序。

我使用 Blazemeter 对此进行了测试 - Blazemeter 是一种基于 jMeter 的负载测试服务,也运行在基于 EC2 的基础设施上。结果很好。

但是,我是否应该担心它是在 Amazon 网络上运行的?网络“距离”在这里是一个问题吗?我是否应该寻找不在 EC2 内运行的负载测试服务?

答案1

“在 EC2 中运行”可能意味着很多很多位置。例如,负载测试器可能位于 us-east-1,但您的应用程序位于 us-west-2。这可能是一个公平的测试。

如果负载测试器与您的应用位于同一区域,我能看到的主要影响是您的数据传输时间将非常短。这意味着您的 Web 服务器将能够比在公共互联网上更快地完成和关闭连接。

例如,如果您的页面生成需要 100 毫秒,而普通用户的延迟为 200 毫秒,但 EC2 区域内的延迟为 10 毫秒,则普通用户的平均请求将花费 300 毫秒,而 EC2 负载测试人员的平均请求将花费 210 毫秒。在有大量请求的情况下,这是一个显著的差异。

答案2

如果您的主要目标是测试吞吐量,那么您的测试不需要从另一个区域运行。从不同的区域运行会增加延迟,但延迟并不总是衡量应用程序性能的好方法。如果您的应用程序可以处理来自美国东部的 100 个请求/秒,那么它也可以处理来自美国西部的 100 个请求/秒,不同之处在于,由于增加了延迟,您从美国西部发出的请求将花费更长时间。从另一个区域执行测试也没有什么坏处,但它不会给服务器增加任何压力。

相关内容