Pacing in Performance Testing

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 Calculator

Why 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)

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.
2
Insert Pacing
Go to
Insert → Pacing.
3
Configure Pacing
Enter Target TPS
(or Hits per Second).
4
Set Scope
Choose the scope:
Action / Transaction /
Group / Entire Script.
5
Save & Run
Run the test.

LoadRunner – Steps

  1. Go to Insert → Pacing.
  2. Select location (Action / Transaction / Group / Script).
  3. Enter Target Hits per Second (TPS).
  4. Choose Pacing Mode:
    • By Hits per Second (Rate)
    • By Iteration Time
  5. 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

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).