Pacing is a workload shaping technique used to achieve a target number of iterations (transactions) per second (TPS). It adds a calculated delay between iterations so that the desired request rate (TPS) is maintained.
Use our free Pacing CalculatorWhy Use Pacing?
- Achieve a target TPS or number of iterations.
- Maintain a steady, controlled load.
- Avoid overloading the system with uncontrolled bursts.
- Helps in accurate capacity planning and SLA/KPI validation.
How Pacing Works (Concept)
Pacing Delay is the wait time added between iterations to control the request rate.
Pacing Delay =
( 1 / Target TPS ) - (Iteration Time + Think Time)
( 1 / Target TPS ) - (Iteration Time + Think Time)
Key Definitions
- Iteration Time (No Pacing): Time to complete one iteration without any delay.
- Think Time: Time user waits before sending the next request.
- Pacing Delay: Additional delay added to achieve target TPS.
- TPS (Transactions Per Second): Number of iterations per second.
Inputs
| Iteration Time (Without Pacing) Time for one iteration without pacing (response time). |
0.8 | sec |
| Think Time Time user waits before sending the next request. |
0.2 | sec |
| Number of Users (Threads) Total concurrent virtual users. |
10 | users |
| Target TPS Target transactions per second you want to achieve. |
0.5 | req/s |
| Test Duration Total time to run the test. |
10 | Min |
Results
| Required Pacing Delay | 19 | sec |
| Achieved TPS | 0.50 | req/s |
| Total Hits | 300 | reqs |
| Test Duration | 10:00 | (mm:ss) |
| Total Users | 10 | users |
Breakdown
| Iteration Time (No Pacing) | Think Time | Required Pacing | Total Iteration Time |
|---|---|---|---|
| 0.8 sec | 0.2 sec | 19 sec | 20 sec |
Calculation Example
Pacing Delay = (Number of Users / Target TPS) - (Iteration Time + Think Time)= (10 / 0.5) - (0.8 + 0.2)
= 20 - 1.0
= 19 sec
So, add 19 seconds of pacing delay between each iteration to achieve 0.5 TPS with 10 users.
How to Add Pacing in Different Tools
1
Open Script
Open your script
in VuGen.
in VuGen.
2
Insert Pacing
Go to
Insert → Pacing.
Insert → Pacing.
3
Configure Pacing
Enter Target TPS
(or Hits per Second).
(or Hits per Second).
4
Set Scope
Choose the scope:
Action / Transaction /
Group / Entire Script.
Action / Transaction /
Group / Entire Script.
5
Save & Run
Run the test.
LoadRunner – Steps
- Go to Insert → Pacing.
- Select location (Action / Transaction / Group / Script).
- Enter Target Hits per Second (TPS).
- Choose Pacing Mode:
- By Hits per Second (Rate)
- By Iteration Time
- Click OK and run the script.
LoadRunner – Pacing Dialog
Pacing Type: By Hits per Second (Rate)
Target Hits per Second (TPS): 0.5
Apply To:
Entire Script
Current Action
Current Transaction
Current Group
Example (Same as Above)
Target TPS: 0.5
Iteration Time: 0.8 sec
Think Time: 0.2 sec
Calculated Pacing: 19 sec
Iteration Time: 0.8 sec
Think Time: 0.2 sec
Calculated Pacing: 19 sec
LoadRunner will automatically add 19 sec delay between iterations to maintain 0.5 TPS.
Summary
| Tool | Where to Add Pacing | How to Configure | Example (From Above) |
|---|---|---|---|
| LoadRunner (VuGen) | Insert → Pacing | Select location → Enter Target TPS (0.5) | Pacing Delay = 19 sec |
| JMeter | Flow Control Action Controller + Constant Timer | Target Throughput = 0.5 → Constant Timer = 19 sec | Pacing Delay = 19 sec |
| NeoLoad | Runtime Settings → Pacing | Mode: By Hits per Second → Target TPS = 0.5 | Pacing Delay = 19 sec |
Best Practices
- Always calculate pacing based on real response time + think time.
- Validate pacing in a short test before full execution.
- Monitor achieved TPS and adjust if required.
- Do not set pacing < 0 (negative).
- Use pacing along with proper ramp-up for realistic load.
Common Mistakes
- Not calculating pacing correctly.
- Ignoring variation in response time.
- Setting pacing too low → Overloading the system.
- Not validating achieved TPS during execution.
- Applying pacing at the wrong level (controller/transaction).