Menu
Grafana Cloud

VU hours

Grafana Cloud k6 subscriptions are based on usage in Virtual-user hours (VU hours, or just VUh).

A VU is an independent thread of execution that runs concurrently to other VU threads. Often, scripts will be designed in such a way that one VU’s activity represents that of one real user.

VUh are deducted for both cloud execution (k6 cloud) and cloud streaming (k6 run --out cloud).

Note

We updated our metering algorithm on Jul 13, 2023. Customers who purchased Grafana Cloud k6 before this date will need to contact their account team to discuss making a change.

VUh calculation

VUh is calculated by using the following formula:

(Maximum number of VUs x test execution duration in minutes) / 60 minutes = VUh

If your test ramps up to a maximum of 100 VUs and runs for 10 minutes, the test run will use 16.67 VUh ((100 VUs x 10 minutes)/60 = 16.67 VUh).

Note that VU hours are calculated based on the period that the test run executes, not the pre-configured test duration. If the test duration is two or more hours but runs for only 30.01 minutes, then the subscription will be charged for the test-execution period rounded up to the next minute (in this case, 31 minutes).

The minimum for a test is 1 VUh.

Arrival-rate executor calculation

k6 has two executors that you can use to set the test load in terms of RPS (requests per second): constant arrival rate and ramping arrival rate.

When using arrival-rate executors, the calculation for VUh changes. Instead of the formula using the maximum number of VUs, it uses two variables you can set for those scenarios: preAllocatedVUs, and maxVUs, with maxVUs taking precedence. The formula looks like:

(maxVUs or preAllocatedVUs x test execution duration in minutes) / 60 minutes = VUh

In cloud tests with arrival-rate executors, it’s important to properly allocate VUs to meet your RPS target and avoid unnecessary costs from VUs over-provisioning.

For more information on how to allocate VUs in arrival-rate executors, refer to:

Save on VUh by starting locally

To save on VU hours, prototype and debug scripts on a local machine. After you have the correct logic, increase the load and duration to the desired levels, then run the script with k6 cloud for managed execution, visualization, and storage.