DEV Community

Cover image for Part 3: Ignoring Think Time Between Requests
Oleh Koren
Oleh Koren

Posted on • Originally published at linkedin.com

Part 3: Ignoring Think Time Between Requests

Hey, welcome back.

Last time we talked about missing parameterization in test scenarios.

Today's mistake is similar in spirit. The test runs. The numbers look great. But what you've built isn't a load test. It's a hammer.


⚠️ The script works. The test is inhuman.

Real users don't fire requests like a machine gun.

They log in. They pause. They read. They click. They pause again.

A typical user journey that takes 60 seconds in real life? Without think time, your script does it in just a few seconds.

What this breaks

Your throughput numbers are fiction. If users complete journeys 30x faster than reality, your RPS is inflated by 30x. You're not measuring capacity — you're measuring endurance under abuse.

You stress the wrong things. Realistic concurrency surfaces real bottlenecks. A firehose of instant requests just overloads your connection pool and calls it a day.

Production behaves nothing like your test. Because real users think. Your script didn't.

🛠 The fix

Add randomized pauses between steps. Every major tool supports it:

  • JMeter: Gaussian Random Timer, Uniform Random Timer etc.
  • k6:
    sleep(Math.random() * 5 + 3)

  • Gatling:
    pause(3.seconds, 8.seconds)

  • Locust:
    time.sleep(random.uniform(3, 8))

3–8 seconds between actions is a reasonable starting point. Check your analytics for what real sessions actually look like.

Before your next run:

Pauses between every major action?
Randomized, not fixed?
Does the timing feel human?

If not — you're not testing load. You're testing collapse.


Think time is one piece of the puzzle. But realistic load modeling goes deeper — it's about understanding how real users behave, how to translate that into a load profile, and how to design a test that actually reflects production.

That's not something you patch with a timer. It's something you build from the ground up.

If you want to understand the full system — from load model design to test execution to results that mean something — that's exactly what Performance Testing Fundamentals course covers.

Top comments (0)