【发布时间】:2012-06-08 20:12:39
【问题描述】:
我将使用 Apache JMeter 在网页上执行负载和压力测试,但我不太确定合适的网络设置。通过本地网络或互联网连接两台机器,服务器与网页和运行 JMeter 的客户端是否更好。使用互联网会更接近真实场景,但使用本地网络,连接会更加稳定,并且您有更多带宽同时处理更多请求。 非常感谢您的意见!
【问题讨论】:
标签: jmeter load-testing stress-testing
我将使用 Apache JMeter 在网页上执行负载和压力测试,但我不太确定合适的网络设置。通过本地网络或互联网连接两台机器,服务器与网页和运行 JMeter 的客户端是否更好。使用互联网会更接近真实场景,但使用本地网络,连接会更加稳定,并且您有更多带宽同时处理更多请求。 非常感谢您的意见!
【问题讨论】:
标签: jmeter load-testing stress-testing
这实际上是负载测试的两种样式或方法,都是有效的。
您可以称之为实验室测试的第一个。您将可能影响吞吐量/响应的因素的数量降至最低。时间并真正将测试重点放在系统本身上。
第二个是更现实的场景,您试图通过在系统上线时通过尽可能多的实际网络层路由请求来获得尽可能多的覆盖范围。
方法 1 的好处是您简化了测试,这使得理解和发现任何问题更容易。问题是你没有完全覆盖。
方法 2 的好处是它不仅更现实,而且还提供了更高的置信度 - 尤其是。通过更高容量的测试,您可能会发现交换机或防火墙存在问题,并且只有通过此类测试才能识别此类问题。问题是它会使查找任何问题变得更加困难。
所以,简而言之,你真的想同时做这两种类型。您可能会发现从外到内从完整的端到端测试开始会更容易,然后只有在发现需要隔离/调查问题时才进行更集中的测试。这样,您就有机会减少设置工作量,同时仍能从测试中获得最大收益。
注意:外在意味着,您的测试平台应该位于 LAN 之外(假设这是实时流量的流动方式)。如今,这很容易使用基于云的硬件进行设置。
另请注意:如果您运行测试的机器在这两种情况下都是相同的,那么通过互联网路由流量(从您的 LAN 中然后再次返回)可能不会告诉您任何有用的信息,并且实际上可能会导致您的结果出现误报(更不用说您公司的网络问题了!)
【讨论】:
恕我直言,您应该使用您的局域网。
几乎每个用户的 dl/ul 速度都会略有不同,因此我建议您先使用 LAN 进行正常的性能测试,完成后,您可以从外部运行几次,看看差异。
请记住,您主要是在应用程序所在的硬件上测试应用程序的效率。 (您未来用户的)网络速度是您无法以任何方式影响的因素。
【讨论】: