Load Model & Traffic Shape
What Is Think Time?
Think time is the pause a virtual user takes between steps to imitate a real person reading, typing, or deciding before making the next request.
Also known as: Wait Time, Pacing
Why omitting it distorts everything
A virtual user with no think time sends its next request the microsecond the previous response lands. That is not a user; that is a benchmark loop. It produces request rates no real population generates and a traffic pattern with none of the natural spacing that lets caches, pools, and queues recover between hits.
The distortion runs in both directions. Zero think time makes a modest VU count look like an enormous load, so you conclude the system fails at 200 users. Then production comfortably serves 5,000, and nobody trusts the test again.
Think time sets the users-to-throughput ratio
Think time is the dial that converts a VU count into a request rate. A VU whose journey costs 1 second of server time and 4 seconds of think time completes roughly 12 journeys a minute; drop the think time to zero and it completes 60.
That is why two teams can report the same VU count and completely different throughput. If a report does not state its think time, the virtual user number in it means very little.
Choosing realistic values
Take the values from analytics rather than intuition — time-on-page per step is usually already being recorded.
- Reading a page of content: several seconds to tens of seconds.
- Filling in a form: proportional to the number of fields, often 10 seconds or more.
- Clicking through a familiar navigation menu: a second or two.
- Machine-to-machine API traffic: often genuinely zero — think time models humans, and there is no human in that loop.
Randomise it
A fixed think time synchronises your virtual users. They start together, wait the same interval, and arrive together, so the test generates rhythmic waves of load with quiet gaps between them — a pattern that stresses the system in bursts and lets it recover in between.
Real populations do not do this. Varying think time around a mean spreads arrivals out and produces the smoother, noisier load that reveals steady-state behaviour. Where a tool only offers a fixed value, staggering the ramp-up achieves much of the same effect.