1

Whenever I navigate to a page in my website, 63 number of requests will hit server. Some of them will be sent concurrently and others will be sent one after the other(After receiving response from earlier request).If I record this scenario in Jmeter, club all the 63 requests in 1 Transaction Controller(because from user's point of view these all requests comprise of single action - Navigate to the page) and run the script the Aggregate report shows total response time for Transaction controller also.How Jmeter calculates this total time?

Case 1: Jmeter executes requests in series only(except for "Embedded resources" which can be run concurrently using concurrent thread pool) and it is SUM of response times of 63 individual requests? In this case the total time would be more than the actual time it takes to navigate to the page because some of the requests run in parallel in real time.

Case 2: Will Jmeter execute the few requests in parallel as a browser does? Thus total Transaction time is the duration from initial request to the final 63rd response? I believe this case gives realistic results.

But my execution reports show that Jmeter follows 1st case. Please do let me know if I am wrong.

1
  • I also searching the answer of above question and which one is the best way for mimix the same scenario Mar 16, 2023 at 15:13

2 Answers 2

1

Keep in mind the following:

  1. Each JMeter thread (virtual user) executes requests upside down (or according to Logic Controllers)
  2. If you use "Retrieve All Embedded Resources from HTML Files" and "Parallel Downloads"

    Retrieve embedded resources

    • the time required to fetch all images, scripts, styles, etc. will be added to the parent HTTP Request sampler response time, like:

      • 1 request for main content
      • 6 parallel requests to embedded resources (until all are downloaded)
  3. For Transaction Controller there are 2 options (depending on how it is configured)

    • If Generate parent sample box is not checked - it reports time for each of 63 individual requests plus total time for all of them
    • If Generate parent sample box is checked it reports only total time, i.e. sum of response times for all the 63 requests

According to JMeter Glossary

Elapsed time. JMeter measures the elapsed time from just before sending the request to just after the last response has been received. JMeter does not include the time needed to render the response, nor does JMeter process any client code, for example Javascript.

See Using JMeter's Transaction Controller article for detailed information on the Transaction Controller configuration.

3
  • I think I did not convey my query clearly! If I run the script in Jmeter simulating 1 user and 1 loop, the time displayed in "Aggregate Report" for "Transaction Controller"(whether the checkbox checked or not) depicts the time that takes for the same transaction in a browser?
    – Surya T
    Nov 28, 2016 at 12:13
  • Could someone please help me in this? It is urgent.
    – Surya T
    Dec 6, 2016 at 10:14
  • @SuryaT did you get anwer of your question if yes please let me know i am also looking the answer of same query Mar 16, 2023 at 15:17
0

The JMeter Aggregate Report calculates the total time of a Transaction Controller by summing up the response times of all the requests inside it. In your case, since you have clubbed all the 63 requests into one Transaction Controller, the total time shown in the Aggregate Report is the sum of the response times of all those requests.

Regarding your question about how JMeter executes requests, by default JMeter executes requests in series (i.e., one after the other). However, JMeter also provides the option to execute requests in parallel using the "Parallel Controller". You can use this controller to send multiple requests concurrently and get realistic results.

So, it seems like in your case, JMeter is executing the requests in series and not in parallel, hence the total time shown in the Aggregate Report is the sum of response times of all the requests. If you want to execute requests in parallel and get more realistic results, you can use the Parallel Controller.

References:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.