简体   繁体   中英

How to identify Throughput from Summary report

I have created a simple script in Jmeter. I have used transaction controller to find out how much time is required to perform particular transactions. As you can see from the image, my api requests are divided in to 3 transactions namely: "Home Page", "Change freq to daily" and "Select brand". 在此处输入图片说明

Transaction controller "Home page" has 12 requests in it. Total number of enabled requests are 12. Transaction controller "Change freq to daily" has 11 requests in it. Transaction controller "Select brand" has 14 requests in it.

Setting for all the 3 transaction controllers is same which is as below. I have used only 1 thread group. Number of threads are 1 and loop count is also 1

在此处输入图片说明

在此处输入图片说明

Based on the execution summary report, I have below questions and will be very grateful if anyone can answer them correctly.

  1. As you can see from the image, "Home Page" transaction controller shows number of samples as 1. Should it not show the total number of samples executed which are 12?

  2. Throughput for "Home Page" transaction controller is 22.8/min. So, does this mean that in "Home Page" transaction, 22.8 requests were served per minute? How 22.8 is calculated? Is this the sum of Throughputs of all 12 requests under "Home Page" transaction controller?

  3. In the row named as "Total" and in the "Throughput" column, it shows the Total as 3.7/sec. How the number 3.7 is calculated? What does it signify? Does this mean that for the entire performance test the Throughput is 3.7/sec? How do I find the Throughput for the entire performance test?

  4. I guess "Average" for Home Page transaction controller is showing correct which is the sum of all 12 averages of the 12 api requests fired. Am I correct?

  5. In the row named as "Total" and in the "Average" column, it shows the Total as 538. How where the number 538 calculated? What does this signify?

  6. In the row named as "Total" and in the "Samples" column, it shows 40 samples. This also includes the Transaction Controller samples (which are 3 in total). Is this not misleading as only 37 samples expected (Adding samples in all 3 transaction controllers = 37). Why does it add the 3 samples for the transaction controllers as well? Can we not see the count as 37 which are the actual samples executed (api requests sent to server)?

  1. It should not, it acts as an extra "pseudo" Sampler which holds the cumulative response time of its children, see Using JMeter's Transaction Controller for more details

  2. As per JMeter Glossary:

    Throughput is calculated as requests/unit of time. The time is calculated from the start of the first sample to the end of the last sample. This includes any intervals between samples, as it is supposed to represent the load on the server.

    The formula is: Throughput = (number of requests) / (total time).

  3. See point 2

  4. It's arithmetic mean of 12 child elapsed times (sum of all response times divided by 12)

  5. See point 4 but instead of 12 sampler results all sample results are considered

  6. See point 1, this is how Transaction Controller works, depending on the mode it can:

    • Either add an extra sample result containing cumulative response times of its children
    • Or substitute its children with a single sample result with the cumulative time

    so you can choose of having 40 samples (37 + 3 transaction controllers) or 3 samples (transaction controllers only)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM