JMeter:模拟实时并发用户场景,具有大量的数据加载和动态计算

时间:2018-01-30 15:12:10

标签: jmeter

我是JMeter的新手,刚开始使用这个工具4天。

我有一个网页,可以查询Post grace DB并动态计算一些图表和指标。我设计了一个测试计划,为10个并发用户模拟这个场景,如下所示:

JMeter Test Plan design

在页面加载后,我使用了各种Response断言将样本标记为pass: Response assertion Response assertion to verify if Reach analysis dashboard is loaded

以下是上述测试计划的摘要报告,其中包含10个并发用户: Summary Report

在上面的报告中,结果显示请求的平均时间为几毫秒。但事实并非如此。加载特定仪表板页面后,数据将继续加载,并且由于计算在运行中完成,因此加载需要相当长的时间。收到响应并加载UI后,JMeter会将该样本请求标记为已通过。

我想用完整的数据加载来模拟并发场景。我希望工具等到仪表板页面上加载完整数据,然后将请求标记为通过,并显示加载仪表板页面和数据所需的总时间。我的目的是找到10个并发用户访问具有大量数据负载的不同仪表板时服务器响应时间如何降低。

我需要帮助来模拟这样一个实时场景,如果可以使用JMeter。

2 个答案:

答案 0 :(得分:1)

  1. 首先确保将HTTP Request Defaults添加到您的测试计划并配置它以下载所有嵌入资源:

    JMeter Embedded Resources

  2. 如果正在通过AJAX requests进行数据加载,JMeter将无法自动执行,JMeter project main page

      

    JMeter不是浏览器,它在协议级别工作。就Web服务和远程服务而言,JMeter看起来像浏览器(或者更确切地说,是多个浏览器);但是JMeter不会执行浏览器支持的所有操作。特别是, JMeter不会执行HTML页面中的Javascript 。它也不像浏览器那样呈现HTML页面

    所以你需要帮助" JMeter通过手动构建HTTP Request采样器或通过HTTP(S) Test Script Recorder记录它们来启动请求。请注意,真正的浏览器并行执行AJAX请求,因此您需要将这些请求置于Parallel Controller

  3. 之下

答案 1 :(得分:1)

如果您要计算页面加载时间,渲染时间,DOM下载时间,那么有很多工具可以为您提供帮助。尽管Jmeter将能够为您提供DNS,连接时间,第一个字节时间,延迟。但是,对于页面分析,您可以参考免费工具,例如WebPageTest甚至开发人员工具栏都可以为您提供帮助。 对于开发人员工具栏,可以转到性能选项卡,然后尝试获取指标,还请尝试确定您是在单页应用程序还是多页应用程序上工作。