Understanding Pacing in ALT

Pacing in Apica Load Test and ZebraTester

There are two related but different concepts in load testing. Pacing and Think-time.

  • Pacing: used when a user wants a script to run at exact time intervals. This produces an exact number of transactions during a specified timeframe.

    • In other words: The time between the iterations of your script in a test scenario.

    • Example, to achieve 5 iterations in 4 minutes, the pacing time should be 4 x 60 /5 = 48 seconds.

    • So some detail on why you would want to use pacing.

      • At the end of each script iteration, a dynamic delay is used so that the next script iteration always starts at an exact time interval (the pacing-time).

      • This ensures that the transaction throughput from the script is constant for every user, independent of changes in response time due to an increased load.

      • By using pacing, the user gets a linear transaction throughput related to the number of users and can control the total number of transactions in a test by setting the test duration.

  • With a Classic setup (without pacing) the interval of the start time of a script iteration depends on the response time of the system under load.

  • Please Note: Pacing time must be longer than the sum of all requests in a script including think-time and response time.

  • Think-time: refers to the delay between actions or interactions inside iterations.

    • Think-time basically the time taken by a user to navigate from one page to another, or from one button to another.

    • Think-time is a delay added after a single transaction is complete and before the next one is started.

In short, think-time is when there is a delay after each transaction and pacing is a delay at the end of the script.

Pacing


Pacing in LoadRunner

In LoadRunner, pacing we have pacing option in runtime settings of LoadRunner there we can define the duration and the way it will be used.


Example

To produce a transaction flow of 100K transactions every 10 minutes, set up a test with 500 VU with a script producing 10 transactions/iteration and a pacing time of 30 seconds.

The result is 500 VU x 10 Transactions x 20 iterations/ 10 min = 100K transactions / 10 min.

Note that the transaction flow will still follow a ramp-up. But, once all the VU’s are running, it will produce a steady flow of 100K transactions / 10 minutes even if the application response time doubles from 1s to 2s.
As long as the script iteration time is not exceeding the pacing interval of 30 sec, all is fine.

Pacing in ZebraTester (before/during Test Execution)

 

The same functionality can be set up in ZebraTester using an Inner Loop around all pages in a script with pacing set to a fixed value of 30 seconds.

In ZebraTester, since pacing can also be set using a User Input Field, it can even be changed without changing the script and at runtime from the Portal. While in LoadRunner you must set the pacing time before the test starts.

Screenshot from ALT Portal where the Pacing Input Variable can be set for each test in the performance test scenario before the test starts:

 

Screenshot from ALT Portal where the Pacing Input Variable can be set in runtime while the test is running:

 

Cannot find what you're looking for? Send an E-mail to support@apica.io.