tag1consulting / goose

Load testing framework, inspired by Locust
https://tag1.com/goose
Apache License 2.0
809 stars 70 forks source link

support dynamically changing users and hatch rate during load test with controller #454

Closed jeremyandrews closed 2 years ago

jeremyandrews commented 2 years ago

Now that Goose is always using a Test Plan internally, it's possible to add support for dynamically changing the # of active users and/or the rate users are increasing or decreasing while the load test is running. When using a predefined test plan, Goose pre-allocates all users for optimal performance and to strictly enforce the configured scheduler.

In the case of adjusting the number of users through the controller there's no way to pre-allocate the users as we don't know how many will be needed, so we'll need to add support for dynamically allocating new users when needed. Internally, Goose can treat a re-configuration the same it treats receiving SIGINT (ie, rebuild the internal testplan and record the actual numbers in the metric history).