提问人:shivam 提问时间:9/15/2023 更新时间:9/15/2023 访问量:34
在服务器上托管应用程序的理想 Jmeter 测试环境应该是什么?
What should be an ideal Jmeter Testing Enviornment with an application hosted on a server?
问:
1.我们有一个 Open Finn 应用程序托管在美国服务器上。 2.我们使用 Jmeter 来获取不同模块的性能,例如登录注销时间。 3.在记录和运行包含所有嵌入式元素的jmter测试计划时,我们得到的时间类似于手动性能结果。 4.但是,当我们在托管应用程序的服务器上破坏相同的测试计划时,结果太快了,并且与我们在服务器上获得的手动性能数据不同。
现在很难判断哪些数据是正确的,哪些是不正确的。 - 上述方法是否正确,以及如何使结果与服务器和本地计算机上的手动性能同步。
当我们手动运行应用程序并注意本地计算机和服务器上的计时时序时,它们几乎相似。
但是在运行 JMeter 时,结果差异很大。
期望在本地计算机和服务器上获得相同的手动和 JMeter 数据。
我已经应用了所有标头管理器、缓存管理器和动态正则表达式,使其更接近真实的客户端模拟。
答:
想象一下,您正在从本地计算机加载数据。在这种情况下,您实际上是在广阔的互联网上发送请求,遍历办公室或家庭网络的复杂网络。这个旅程涉及许多“跳跃”或中间点,然后才最终到达预定的目的地——服务器。
现在,请考虑另一种方案,即从应用程序所在的环境中发送请求。这种方法使您更接近服务器,从而大大缩短了请求需要覆盖的距离。当然,邻近度最终取决于端点的性质,即它是网络拓扑中的内部节点还是外部节点。这种区别至关重要,因为它决定了处理您的请求的效率和速度。
干杯!
评论
让我用简单的话来重新表述一下:
- 您从您所在的位置运行了 JMeter 测试,并得到结果 1
- 您在您所在的位置使用浏览器运行了手动测试,并得到了结果 2
- 您将结果 1 与结果 2 进行了比较,结果相似
- 您从靠近被测系统的位置运行了 JMeter 测试,并得到了结果 3
- 现在你要问为什么结果 3 与结果 1 和 2 不同。您不应该从靠近被测系统的位置运行“手动测试”吗?
此外,仅研究响应时间并不能说明全部情况,请考虑分析连接时间和延迟。
一般来说,对于查找应用程序缺陷,负载生成器位于何处以及请求到达服务器和响应需要多长时间才能通过网络返回并不重要,这个时间或多或少是相同的,您可以通过从经过的时间中减去延迟来获得它。
服务器处理时间是您正在寻找的,在特定阈值之后,它将随着负载的增加而增加。
如果应用程序所有者希望应用程序在亚洲或澳大利亚快速响应,他应该考虑将实例部署在更靠近最终用户的位置,并根据用户 IP 地址将流量路由到这个或那个实例。
有关指标、指标的含义以及如何分析指标的更多信息:
评论