Simulating Irregular Response Latencies (Think Time)

One benefit of using virtual services when testing is to introduce irregular behavior that's difficult to get a real web service to produce on demand. A test script rushes through the test steps at the same speed every time, but in BlazeMeter, a transaction can also have a fixed or random-length delay before the response is returned.

BlazeMeter's Think Time option introduces a delay that can be used as a factor to simulate slow human responses or network latency. The delay can be a fixed value or can be sampled from a random distribution which makes it easy for you to simulate different types of downstream latencies.

There are several ways how to access the Think Time tab to add a delay to a transaction:

  • Go to the Asset Catalog tab, open the transaction, and edit the Response Parameters.
  • Go to the Service Virtualization tab, open a virtual service, and go to the Parameters tab.

For each transaction response, you have the following options:

Think Time

  • No Delay / Don't use transaction delay
    Sets the Think Time to 0 milliseconds. This is the default.
  • Fixed Delay
    Lets you define a fixed response delay in milliseconds.
  • Random Uniform Delay
    A uniform distribution simulates a stable latency with a fixed amount of jitter.
    Example: To simulate a stable latency of 20ms +/- 5ms, use lower = 15 and upper = 25.
    This option takes two parameters:
    • lower - The lower bound of the range, inclusive.
    • upper - The upper bound of the range, inclusive.
  • Random Lognormal Delay
    A lognormal distribution is a pretty good approximation of long-tailed latencies centered on the 50th percentile.
    This option takes two parameters:
    • median - The 50th percentile of latencies.
    • sigma - Standard deviation. The larger the value, the longer the tail.

think-time-transactions.png