# Pacing Calculator

This calculator gives a fixed pacing value (i.e. a delay between two iterations) to design an accurate workload model. Calculate the pacing value for workload modelling by providing the required inputs.

## Example:

Requirement: A company with an e-commerce website expects 9000 orders per hour. The company has 3,000 registered users, but only 600 customers are active at a time. A customer takes around 300 seconds to place an order. Now, the company wants to check whether the website can handle 600 customers load at a time or not.

Workload Modelling: A performance tester needs to design the workload model for the above requirement. After completing the script, he replays the flow and finds that one iteration takes around 90 seconds. He adds 10 seconds of think time between each pair of transactions and the sum of all the think times is 110.

The given number of orders per hour is 9000, hence the test needs to complete 9000 iterations with 600 users. To achieve this number accurate pacing needs to be added in the script. The above-given pacing calculator will provide a correct value of pacing:

• No. of Users (Threads): 600
• End to End Response Time (in seconds): 90
• No. of Iterations per hour: 9000
• Total Think Time (in seconds): 110

The calculated Pacing is 40 seconds. It means that a delay of 40 seconds will require between two iterations to place 9000 orders with 600 user loads in one hour.

### 15 thoughts on “Pacing Calculator”

1. what is the formula to calculate the pacing value?
Here having wonderful calculator is available but i would like to know how its doing?

Regards,
Sakthi

• Hi Sakthi,

This calculator is based on Little’s law and the same formula is used.

2. Hi,

Could you please share the formula you are using to calculate Pacing Time.

Thanks.

• Hi Sagar,

The calculator is based on Little’s law.

• Can you please show me how you have used the Little’s Law Formulae by taking any example….

• Hi Chandan,

You can refer to this video. It explains the calculation of User Load using Little’s low, but you will get an idea of calculating the Pacing.

3. Hi ,
Hi i am seeing negative pacing value in pacing what would be reason for that.

• Hi Laxmikant,

It means that your input (NFR) does not satisfy Little’s law. You need to provide realistic values. For example, if you want to calculate the pacing by providing 1 user with 100 seconds end-to-end response time for 100 iterations per hour then pacing will be negative, because such a scenario is practically impossible.

4. Hello

just wanted to understand what if based upon input parameter i get negative pacing ?

for exmaple :
If i have given below inputs in the tool i get pacing as -8.5 , What i can interpret from this negative pacing ??
Number of users 100
End to End Response Time in (Seconds) 0.5
Iteration per hout 180000
Total Think Time in Second (0 for no think time) 10
Calculated Pacing -8.5

• Hi Sumit,

It means that the given values do not satisfy Little’s law and figures are unrealistic. In your case, 10 seconds think time is too much which you can control.

5. please suggest how to do that:

Please calculate pacing for the below requirement:
#concurrent users: 5000
5 scripts – concurrent users split is 10%, 25%, 20%, 25% and 20%
Volume per hour: 15000, 25000, 2000, 40000, 30000
#transactions per iteration: 5
Timetaken for 1 iteration : 60, 80, 70, 30, 50 seconds.

• Hi Prateek,

As you mentioned transactions per iteration is 5, so does it mean each script has 1 transaction?

• Yes. How to calculate ?

• First, let’s calculate the total volume per hour for all scripts:

Total volume per hour = 15000 + 25000 + 2000 + 40000 + 30000 = 115,000

Now, let’s calculate the average transaction response time for each script:

Script 1: 60 / 5 = 12 seconds
Script 2: 80 / 5 = 16 seconds
Script 3: 70 / 5 = 14 seconds
Script 4: 30 / 5 = 6 seconds
Script 5: 50 / 5 = 10 seconds

Next, let’s calculate the maximum and minimum delay between transactions based on the target transaction rate and the expected user concurrency:

Target transaction rate = Total volume per hour / (60 * 60) = 115,000 / 3600 = 31.94 transactions per second (rounded up to 32)

Maximum delay between transactions = 1 / Target transaction rate = 1 / 32 = 0.03125 seconds (rounded up to 0.04 seconds)

Minimum delay between transactions can be set to 0 seconds.

Finally, let’s calculate the pacing required for each script based on the expected user concurrency and the transaction mix:

Script 1:

Expected user concurrency: 5000 * 0.10 = 500
Transaction mix: 5 transactions per iteration
Pacing = Maximum delay between transactions * Expected user concurrency / Transaction mix
Pacing = 0.04 * 500 / 5 = 4 seconds
Script 2:

Expected user concurrency: 5000 * 0.25 = 1250
Transaction mix: 5 transactions per iteration
Pacing = Maximum delay between transactions * Expected user concurrency / Transaction mix
Pacing = 0.04 * 1250 / 5 = 10 seconds
Script 3:

Expected user concurrency: 5000 * 0.20 = 1000
Transaction mix: 5 transactions per iteration
Pacing = Maximum delay between transactions * Expected user concurrency / Transaction mix
Pacing = 0.04 * 1000 / 5 = 8 seconds
Script 4:

Expected user concurrency: 5000 * 0.25 = 1250
Transaction mix: 5 transactions per iteration
Pacing = Maximum delay between transactions * Expected user concurrency / Transaction mix
Pacing = 0.04 * 1250 / 5 = 10 seconds
Script 5:

Expected user concurrency: 5000 * 0.20 = 1000
Transaction mix: 5 transactions per iteration
Pacing = Maximum delay between transactions * Expected user concurrency / Transaction mix
Pacing = 0.04 * 1000 / 5 = 8 seconds
So the calculated pacing values for the five scripts are:

Script 1: 4 seconds
Script 2: 10 seconds
Script 3: 8 seconds
Script 4: 10 seconds
Script 5: 8 seconds