3

我正在寻找对消费者网站进行负载测试。我尝试过使用 JMeter。但是,在这种情况下,所有请求都来自一台机器。我真正想要的是模拟全国各地的真实用户,一些使用低速拨号连接,另一些使用高速连接。

在这种情况下要遵循哪些最佳实践?

4

3 回答 3

3

JMeter 支持分布式测试——因此,如果您已经习惯使用它作为工具,您也可以使用它来支持来自任意数量机器的这些分布式请求。

请注意,所有机器都运行完全相同的测试计划,因此您的计划应该随机选择一些快速/慢速环境,或者您可以根据某些系统属性选择要使用的配置文件。

于 2010-11-04T17:32:32.933 回答
1

您已经表达了两个不同但相关的问题 - 来自单台机器的流量和模拟各种最终用户的网络速度。

为什么第一个是您的测试关注的问题?除非您的负载均衡器使用 IP 地址作为其负载分配算法的一部分,否则绝大多数服务器(和应用程序平台)并不关心所有流量都来自单个机器(或 IP 地址)。另请注意,您可以为负载生成器的操作系统配置多个 IP 地址,更好的负载测试工具将利用这些 IP 地址,以便流量来自所有这些地址。

对于最终用户网络速度的模拟,再一次,更好的负载测试工具会为你做这件事。这可以让您很好地了解带宽将如何影响页面加载时间,而无需实际使用分布式加载生成。但是工具经常不考虑延迟。这就是分配负载生成无可替代的地方。

您可以使用 JMeter 进行分布式测试,尽管它可能有点麻烦。您需要多少个位置?在不了解您需要什么的情况下,我的第一个建议是选择一种工具,该工具具有专为满足您的需求而设计的功能。我将对我们的产品 Web Performance Load Tester 进行拉皮条,但当然还有其他选择。Load Tester 可以模拟各种最终用户的连接速度,并内置支持从 Amazon EC2 生成负载(美国东海岸和西海岸以及爱尔兰都柏林......即将支持亚洲)。设置 EC2 帐户后,您可以在 10 分钟内从云中运行您的第一个测试。

于 2010-11-05T13:56:25.873 回答
1

您可能需要考虑使用第三方服务,例如Load Impact

于 2010-11-04T17:33:59.683 回答