Jmeter执行查询

时间:2014-07-15 02:42:25

标签: java jmeter load-testing performance-testing

我最近开始使用Jmeter并面临一些问题。最初我使用的是VSTS。

我有一个JMX,我已经记录并配置了一个有5个步骤的用例。逻辑上所有步骤(控制器)应按顺序执行。我也在使用两个奴隶。

  1. 当我使用2个从站执行100线程测试时,控制器不会按顺序执行。步骤1将首先执行200次,然后执行步骤2,依此类推。如何配置Jmeter以顺序执行控制器?

  2. 当我执行测试时,响应时间很长但是Perfmon没有显示CPU的上升,这是相当矛盾的。我用VSTS执行了相同的测试,我得到了适当的CPU图。我在Jmeter中缺少任何配置吗?

  3. 我在Jmeter和VSTS中执行了负载测试。两个工具中的用例和测试模型相同。 结果进行了比较,并且在2之间的读数之间存在很大差异。例如:Jmeter中的命中高于VSTS,与VSTS相比,Jmeter的平均响应时间要低得多。我无法得出这种行为。

  4. 奴隶在Jmeter中的作用是什么?

2 个答案:

答案 0 :(得分:0)

用于在并行/顺序模式之间切换线程组执行操作"连续运行线程组" Test Plan下的复选框。

我认为不同之处在于Visual Studio和JMeter的配置方式。我的期望是您的JMeter测试计划不会检索所有嵌入式资源,如图像,CSS,脚本等。

您可以将“配置元素”菜单中的HTTP Request Defaults添加到测试计划中,并将其配置为:

  • 检索所有嵌入资源
  • 使用并发池。大小3-5线程

还可以添加更多配置元素,使测试更加逼真:

  • HTTP Cookie Manager - 模拟浏览器Cookie并处理基于Cookie的身份验证
  • HTTP Cache Manager - 代表浏览器缓存,真正的浏览器下载嵌入式资源但只执行一次,复制此行为是有意义的
  • HTTP Header Manager - 发送相关标头,例如User-Agent,Accept-Encoding等。

对于JMeter从站,当单个JMeter负载生成器由于CPU / RAM /带宽/任何限制而无法产生所需负载时,需要进行分布式测试。分布式模式意味着一个JMeter主引擎协调几个产生实际负载的从站并将报告发送回主站。

答案 1 :(得分:0)

让我们逐一回答问题:

I have recently started using Jmeter and facing some issues. Initially I was using VSTS.

Jmeter实际上是一个非常棒的工具,它非常灵活,我很喜欢它

I have a JMX where I have recorded and configured a Use case which has 5 steps. Logically all the steps(controllers) should execute sequentially. Also I am using two slaves.

不允许直接进入分布式测试概念。 步骤/控制器将按照完成的分组运行。 请仔细阅读4.2.2节 http://jmeter.apache.org/usermanual/test_plan.html 这会让你清楚地了解使用情况

When I execute a 100 Thread test using 2 slaves the controllers don't execute sequentially. Step 1 will first execute 200 times and then step 2 and so on. How can i configure Jmeter to execute the controllers sequentially?

你需要引用线程组设置,另外需要将请求分组到一个和剩余的,以防你使用随机控制

When I execute the test the response time is high but the Perfmon shows no rise in CPU which is quite contradictory. I executed the same test with VSTS and i got the CPU graph proper. Am i missing any configuration in Jmeter?

如果您使用JP @ GC插件进行jmeter,可以配置一个侦听器来获取所需的指标,请确保取消阻止插件尝试与性能指标进行通信的指定端口

I executed a load test in Jmeter and VSTS . The use cases and test model was same in both the tools. The results were compared and there is lot of difference among the readings between the 2. For example: Hits are high in Jmeter than in VSTS, average response time is much lower in Jmeter when compared to VSTS. I was not able to derive the behaviour. 您需要对正在使用的组件进行如此多的调整,例如:Cookie管理器中使用的Cookie策略(如果您正在使用它)

是否正在运行正确的实现类型。

老实说Jmeter为您提供了可以分组的单个结果的结果(例如:一个页面加载了10个组件,jmeter在录制期间显示10个http请求而不是一个,所以你应该在请求方面保持谨慎分组)

What is the role of slaves in Jmeter? 您可以在http://jmeter.apache.org/usermanual/remote-test.html

找到完整的详细信息