0
votes

I am working on migration of scripts from performance center to Jmeter5.2.1. As part of this migration , we are using same functional flow which we did in performance center. My scenario consists of users logging in to the web application perform 10-15 iterations and then logout.

This is my Testplan.

TestPlan
--ThreadGroup1
      --Once Only Controller (login of users)
      --Loop Controller      (10 Iterations)
              HTTP1
              HTTP2
              HTTP3
              .
          .
      --Once only Controller (logout of users)
      --csv Config data ( username/password)
      --csv config data( unique data for the loop controller)

With this approach I am noticing that the time taken to complete the test in Jmeter is much more than what we have in performance center ( I took care of think times and added the similar values) Why is my test run slow in Jmeter?
Is loop controller sequential? Meaning at a given time it can run only one request?
If not loop controller what other options we have to satisfy my scenario.
If I include different thread groups , carrying JSESSIONIDs needs to be done across thread groups which is not a best practice to do so.

Update:

Comparison between performance center and Jmeter settings enter image description here Below are the settings in Jmeter.
Thread Group settings:

enter image description here

TestPlan :
HTTP Cookie manager in Thread Group
CSV data files in Test plan
Once Only counters for Login and Logout
Loop Controller for Iterations.
enter image description here

HTTP request Defaults: ( Even with out checking retrieve all embedded and parallel downloads its taking more than an hour for 3 users)

enter image description here

TestPlan
enter image description here

Performance Center results :

enter image description here

Every Sampler has HTTP Header manager

enter image description here

Entire Test Plan

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

1
What do you mean by the test runs slow in JMeter? If you are comparing the performance results between two tools you have to share the results also, not only the test plan. JMeter is able to send requests as fast as it can. - Masud Jahan

1 Answers

0
votes

Given you send the same requests you should have the same response times, no matter which tool is being used under the hood.

It's hard to say what the differences are without seeing the full scripts from the both tools so generic advice is to use a third-party sniffer tool like Wireshark or Fiddler in order to identify the differences and configure JMeter to behave exactly like the "performance center" (whatever it is)

For example I fail to see HTTP Cache Manager and it will cause JMeter to download embedded resources (images, scripts, styles, sounds, fonts) for each and every HTTP request while real browser does it only once.

I also don't see HTTP Header Manager which might be very important, for example if you send Accept header the server will be aware that the client can understand gzipped responses which will greatly reduce network traffic.

More information: How to make JMeter behave more like a real browser