4
votes

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

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.

  1. 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?

  2. 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?

  3. 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.

  4. What is the role of slaves in Jmeter?

2
will be good if you paste the snapshot of test plan hereNachiket Kate
It is not possible to share the snapshot due to security issues .... I can provide you information on what you want to look.user3045254

2 Answers

0
votes

For switching between parallel/sequential modes Thread Groups Execution you can operate "Run Thread Groups Consecutively" checkbox under Test Plan.

I believe that the difference is in how Visual Studio and JMeter are configured. My expectation is that your JMeter test plan does not retrieve all embedded resources like images, css, scripts, etc.

Can you add HTTP Request Defaults from Config Element menu to your test plan and configure it to:

  • Retrieve All Embedded Resources
  • Use concurrent pool. Size 3-5 threads

It is also worth to add few more configuration elements to make your tests realistic like:

  • HTTP Cookie Manager - to simulate browser cookies and deal with cookie-based authentication
  • HTTP Cache Manager - to represent browser cache, real browsers download embedded resources but do it only once, it makes sense to replicate this behavior
  • HTTP Header Manager - to send relevant headers like User-Agent, Accept-Encoding, etc.

In regards to JMeter slaves, distributed testing is required when single JMeter load generator is not capable to produce required load due to CPU/RAM/Bandwidth/whatever limitations. Distributed mode means that one JMeter master engine orchestrates several slaves which produce actual load and send reports back to master.

0
votes

lets go with the questions stated one by one:

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

Jmeter is really a fantastic tool to start with , it is really flexible and i am in love with it

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.

lets no get directly in distributed testing concept. the steps/controllers would run as per the grouping done. please go through the section 4.2.2 http://jmeter.apache.org/usermanual/test_plan.html which would give you a clear idea on usage

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?

You would need to refer to thread group settings , additionally need to group the requests onto one and the remai, in case you are using a random controlled

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?

In case you are using JP@GC plug in for jmeter , there is a listener which can be configured to get the metrics needed, please make sure to unblock the specified port on which plugin tries to communicate for performance metrics

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. You would need to check with so many tweaks on components being used , e.g: Cookie policy which is being used in Cookie Manager ( in case you are using it)

whether the right implementation type is being run upon.

Honestly Jmeter gives you the results of individual results which can be grouped up ( e.g: there are 10 components loaded for a page, jmeter during recording displays 10 http requests instead of one, so you should be little cautious in terms of requests grouping)

What is the role of slaves in Jmeter? you can find the complete details at http://jmeter.apache.org/usermanual/remote-test.html