JMeter负载测试时间验证

时间:2017-08-08 11:50:20

标签: jmeter

我使用JMeter检查负载测试。

  • 当我亲自检查加载时间时,我注意到秒表的时间 8.5秒
  • 当我使用JMeter运行相同的情况时,它的加载时间为2秒

    它们之间存在巨大差异,我如何验证实际时间?

    例如:如果一个用户在JMeter中花费9秒钟加载表单,则加载时间为2秒

4 个答案:

答案 0 :(得分:1)

您无法将JMeter加载时间与浏览器进行比较,因为您的浏览器将加载JavaScript文件,并且可以在页面加载时调用JavaScript函数,而JMeter不会执行JavaScript。

  

JMeter不是浏览器,它在协议级别工作。据,直到...为止   对于Web服务和远程服务而言,JMeter看起来像是一个   浏览器(或更确切地说,多个浏览器);但JMeter没有   执行浏览器支持的所有操作。尤其是JMeter   不会执行HTML网页中的Javascript 。也不是   像浏览器一样呈现HTML页面(可以查看   响应为HTML等,但时间不包含在任何内容中   样本,并且在一个线程中只显示一个样本   时间)。

只是旁注 - 您可以使用plugin检查Chrome中的确切加载时间。

答案 1 :(得分:1)

Chrome Developer tools, Performance Tab

客户端时间是一个复杂的项目,您可以从上面的Chrome开发者工具,效果标签中的剪辑中看到。在客户端发生了很多事情,这导致了您使用HTTP协议测试工具看到的时间之间的差异,例如JMETER(以及地球上的大多数其他性能测试工具)和实际的客户端渲染。

您可以通过多种方式解决此Delta问题:

  • 运行单个GUI虚拟用户。为您的时间记录命名,例如"登录"和" login_GUI。"两者之间的差值是您的客户重量。确保在专用主机上运行GUI虚拟用户以避免资源争用
  • 使用所有浏览器运行测试。这是1995年的最新技术。由于资源成本和试图计算服务器响应成本的偏差,整个行业转移到协议级虚拟用户。有些人试图将这种模式带回到现有技术中。"它不是
  • 提前询问一个表现问题,也称为"左移..."每个开发人员都可以使用这些开发人员工具,每个功能测试人员也可以。如果您发现客户对一个用户来说很慢,请好奇并使用开发人员工具来识别,"为什么?"如果您正在等待多用户性能测试来回答与客户端权重相关的问题,那么您已经等待了太长时间,并且通常没有时间或资源以有意义的方式更改页面体系结构以降低客户端页面成本。这就是前面的理解对于进行更改具有巨大优势的地方。

我故意挑选上面的图片来说明你遇到的确切挑战。请注意,组件的加载时间不到十分之一秒。这些是JMETER要求的要求。但该页面需要将近五秒的时间才能渲染。" Jmeter没有损坏,它按设计工作。您的理解是需要更改哪些工具可用于提取特定统计数据进行分析。

答案 2 :(得分:0)

表现良好的JMeter测试时序应与实际用户时序相同或相似,如果存在4倍的差异 - 很可能您的JMeter配置不正确。

  1. 可能是最重要的。确保您的HTTP Request采样器配置为检索所谓的"嵌入式资源" (网页中引用的(图像,脚本,样式)

    JMeter Embedded Resources

  2. 如果您的应用程序使用AJAX技术,请确保您也执行AJAX驱动的请求,并使用Transaction Controller将其经过的时间添加到主采样器。
  3. 确保您模仿浏览器:

  4. 假设以上所有内容您应该收到类似于真实用户体验页面加载时间。有关上述提示的更多详细信息,请参阅How to make JMeter behave more like a real browser文章。

答案 3 :(得分:0)

Jamesuser7294900提供的答案外,请查看这些图片,以帮助您了解秒表和JMeter给出的时间差异背后的原因。

  

下面的图片给出了JMeter如何提供时间背后的意识形态。

enter image description here

  

下面的图片给出了你如何衡量时间背后的意识形态   你的秒表。

enter image description here

请注意,当您使用秒表消耗时间时,浏览器会执行其他操作。这就是JMeter和秒表之间巨大差异的原因。

除此之外,请确保您对两个测试使用相同的测试环境条件(例如相同的网络条件,相同的LG等)。

希望这有帮助!