Pages

Tuesday, 29 November 2016

Pacing Calculator

PerfMatrix Site Link: https://www.perfmatrix.com/pacing-calculator/

You can easily calculate Pacing by providing available inputs. Kindly use 0 (zero) in the respective fields in case of no think time:

Calculate Pacing:


No. of Users = 
End 2 End Response Time (in seconds)* = 
No. of Transactions in 1 iteration# = 
Transactions per second (TPS)$ = 
Total Think Time (in seconds)^= 

 Pacing (in seconds) = 

where,

* Time to complete 1 iteration

# e.g. HomePage, Login, Search, Logout etc.

$ If you already have this number then well and good. In case you do not have TPS then calculate like this.
Total Iteration in an hour = 
No. of Transactions in 1 Iteration (in seconds)= 
 Transactions per second (TPS) = 
^ Total think time is the sum of all the think time used in the script

Related Topic:

26 comments:

  1. what is the formula behind this.Please let us know, which will help us to know the calculation better

    ReplyDelete
    Replies
    1. The formula is:

      Pacing (in sec) = (No. of Users/TPS)-E2E response time (in sec)

      Delete
  2. HI Gagan, How to calculate think time and pacing at the sametime ?.. How to decide how much time of the remaining or residual time should we keep for Think time and pacing respectively?

    For ex : If remaining time is 45 minutes.. then how much time for think time ? and how much time for Pacing ?

    ReplyDelete
    Replies
    1. Could you please let me know what do you mean by remaining time? Is it:

      Remaining Time = 60 minutes - ((Total transactions * Response Time) / Total Users))

      Delete
  3. Hi Gagan, I am looking for a framework with jmeter for API Calls, how to develop framework for multiple API Calls.

    ReplyDelete
    Replies
    1. Hi Ashok,

      You can create the scripts of APIs and bind them in 1 scenario.

      Delete
  4. Gagan,

    The above Pacing calculator implementation has used the below formula :

    Pacing Time = (No of users/ TPS) * No of Transactions - (E2E Response Time + Total Think Time)

    Could you please explain why. Thanks!

    ReplyDelete
    Replies
    1. This is because people do not get confused between IPS (Iterations per second) and TPS (Transactions per second). In case you have only 1 transaction then IPS and TPS will be same and No. of Transactions value will be 1 in the formula.

      Delete
  5. Gagan,

    I like & agree with the new terminology ("IPS") you have brought into the formula , which is usually missed out most of the time & only individual Transactions throughput is considered.

    But i strongly suspect the formula should be as specified below :

    Pacing Time = (No of Users / (TPS / No of transactions)) - (E2E Response Time + Total Think Time)

    Where Iterations per Second = TPS / No of Transactions

    This is because, while applying Little's law (N = X * R), all units should be equivalent. If the throughput is expressed in IPS, then response time + think time component should also be expressed for an iteration.

    Am happy to discuss & explore on this by running short tests & make conclusions based on data points to have concrete understanding.

    Regards
    Ramya

    ReplyDelete
    Replies
    1. Hi Ramya,

      The above formula does not represent only a single transaction, but can be used for the scenarios where we have multiple transactions under 1 iteration. If we consider only one transaction then IPS = TPS (TPS/No. of Transaction) where no. of transaction is 1. Also, in that case we do not worry about Think time because pacing contributes fully to achieve desired TPS.

      Since in reality (expect web-service protocol) we have multiple transactions under one iteration along with think time. If we just consider TPS then numbers are so different.

      Just to make little's law more simple and realistic, I used IPS term which is well fitted in the formula and provide accurate numbers without any confusion.

      Next query: If the throughput is expressed in IPS, then response time + think time component should also be expressed for an iteration.

      That is why I used term "E2E Response Time" means response time to complete 1 iteration and "Total Think Time" means sum of all the think times used in the script.

      Delete
  6. what is the pacing that I get if i have No. of Users = 1
    End 2 End Response Time (sec)* = 1
    No. of Transactions in 1 iteration# = 1
    Transactions per second (TPS)$ = 10
    Total Think Time (sec)^= 1
    Calculate Pacing = -1.9


    ReplyDelete
    Replies
    1. Hi Krishna,

      1. If pacing calculator calculates negative number pacing then it denotes that NO PACING REQUIRED.

      2. Your numbers are impractical, because with 1 user and 2 seconds response time (1 second E2E + 1 second Think time), you can not achieve 10 TPS.

      3. Either you need to increase the no. of users (20) or decrease the response time (0.1 without thinktime) then only you can achieve 10 TPS with 0 pacing.

      4. If you want to include pacing but stick on TPS (10), then you need to add more users.

      Delete
  7. Has this been practical tested ? I see getting iterations on Transactions can get tricky , At the EOD all this gets into T per Unit time , Why not leave the iterations needed per duration to the tool and just use the 1 iteration = 1 transaction model to get to the desired rate ?

    ReplyDelete
    Replies
    1. Yes, this calculator is tested practically and being used by many Performance Tester.

      1 Iteration = 1 Transaction is not the case in every scenario. 95% web scripts having more than 1 transaction under a iteration. This calculator has separate input field for transaction which counts accurate Pacing in the basis on given Transactions count, User count, Response time and think time.

      Delete
  8. Hi Gagan,
    Can you please tell me how to get 5hits per sec in 5 min ,with what pacing and think time .if E2E time is 6 seconds,and no. of transaction=2, and one transaction one request is present.

    we have to run the test for 1hr.

    ReplyDelete
    Replies
    1. No. of Users: 100
      E2E Response Time: 6 seconds
      TPS: 5
      No. of Transactions: 2
      Total Think Time: 5 seconds (You need to add a think time between both the transactions)

      Answer:
      Pacing: 29 seconds (Fixed Pacing)

      Delete
  9. Replies
    1. Hi Sharada,

      Pacing Time = (No of Users / (TPS / No of transactions)) - (E2E Response Time + Total Think Time)

      Delete
  10. Hi Gagandeep,

    What should be the pacing and think time if I have 1500 concurrent user load and need to achieve 65 iteration per hour with 3.25 second responce time for 1 iteration.

    Thanks

    ReplyDelete
    Replies
    1. If you have only 1 transaction then there is no need to provide any think time and your pacing will be 52.3.

      Delete
    2. Hi Gagan,
      I'm not sure on how you got 52.3 as pacing for the above scenario. On applying the little's law, User = Throughput(Avg Response Time+ Think Time+Pacing) and substituting the values it will be 1500 = 65(3.25+Pacing) , solves to give Pacing=19.82; where Throughput = TPS/No of txn which is iteration in this case.

      Kindly correct if my understanding is wrong

      Delete
    3. Hi Mohit,

      Even I am unable to recall why I said 52.3.

      By the way your calculation is wrong because 65 is in hour unit and response time is in second unit. Please convert IPH to IPS first and then do the calculation. It would be around 83333 seconds. Means 65 iterations per hour are too less against 1500 users.

      Delete
  11. Hi Gagan ,

    As i calculated the pacing time for 2000 transaction with 50 Vusers and E2E response time is 16 sec , so calculated pacing time is 34 secs. Please tell me is it correct or wrong ? I think i'm getting wrong somewhere thats whys 2200 transactions are placed within time. please help me out rom here.

    I just want to know the how to calculate E2E response time and how to apply pacing time & think time in controller.

    I applied the pacing but i think controller not applied while running.

    Please suggest. Thank You in advanced..-/\-

    ReplyDelete
  12. As per calculator input, your will need:

    1. No. of Vuser: 50 (You already have)
    2. End to End Response time: To get this value, run your script for 1 iteration without any think time and check how much time the script tool to complete one iteration. This will be your End to End Response Time.
    3. No. of Transactions in 1 Iteration: No. of transactions in your script
    4. Transactions per second: 0.55 (You already have)
    5. Think Time: Sum up all the think time value in your script

    Input all the above values and you will get the correct pacing.

    Come to your next question: How to apply pacing?
    Refer this URL: https://perfmatrix.blogspot.com/2017/03/hp-loadrunner-runtime-settings-pacing.html

    How to apply think time?
    Refer this link: https://perfmatrix.blogspot.com/2017/03/hp-loadrunner-runtime-settings-think-time.html

    ReplyDelete
  13. can you please explain.. how did u calculate this?

    ReplyDelete