Suspend VU execution for the specified duration.
sleep is the primary means of introducing delays in your script. These delays aim to represent the time it would take a real user to parse a page before proceeding to the next page, commonly referred to as "think time". Without sleep statements, a script will run as quickly as the system it runs on allows it, as well as by how fast the server(s) it communicates with responds (because k6 executes HTTP requests synchronously).
Unless you are stress testing and want each VU to execute as many requests per second as possible, you should include sleep statements throughout the script. This relates your VU behavior more closely to the behavior of real users.
Ideally, you would also feed in a randomized pause duration, further encouraging natural concurrency to develop.
|t||number||Duration, in seconds.|
Fetching two different pages with a 0-30 second random sleep in between:
Using the k6-utils library to specify a range between a minimum and maximum: