Reduce amount of IdleCount for auto-scaled CI
We have quite high number of IdleCount machines, basically it means that we always have some spare capacity to process builds.
In most cases, because how we work, we could effectively reduce this IdleCount to much lower value.
I believe that it should be fine to have this defaults:
-
docker-ci-X
andgitlab-shared-runner-X
to have IdleCount set to 10, and OffPeakIdleCount set to 2 or 4. Where the OffPeak would be outside Mon-Fri, 08-24 of European time zone, currently uses 2G machines, -
shared-runners-X
to have IdleCount set to 10 all day, currently uses 2G machines, -
omnibus-gitlab-runner
to have IdleCount of 6 and out of peak idle count set to 2, currently uses 16G machines,
IdleCount defines how fast we can offload the pending runner queue, as we will provision at max the amount of machines specified in IdleCount. For example to with IdleCount set to 10, and where it takes one minute to provision each machine, it will take runner about 10 minutes to start processing 100 builds. Which is reasonable value.
Having high IdleCount increases constant cost of having infrastracture in standby where for most of the day we don't need it. This especially critical for omnibus-gitlab
as it always have 10 machines in standby, and these machines are 16G of size.
cc @marin