elastic-ci-stack-for-aws icon indicating copy to clipboard operation
elastic-ci-stack-for-aws copied to clipboard

Add StandbyCount

Open ptarjan opened this issue 2 years ago • 3 comments

You have ScaleOutFactor which is great if you want to scale out faster, and MinSize to make sure we don't get too small but I want to just have 5 instances always spun up ready to take the next workload. Basically an additive number instead of the multiplicative one you have with ScaleOutFactor.

I don't care about the name if you have a better suggestion than StandbyCount.

ptarjan avatar Aug 26 '21 22:08 ptarjan

Maybe https://github.com/buildkite/elastic-ci-stack-for-aws/pull/838 does this? I can't really tell. I don't care if they specifically use the AWS Warm Pool, I'm happy to pay for them to be running. Of course using the cost saving thing is better, I just need the speed for our builds right now.

ptarjan avatar Aug 26 '21 22:08 ptarjan

Hi @ptarjan this is an interesting idea! I think the warm pool could provide equivalent functionality in terms of performance 🤔

Could you share some numbers on your pool Min and Max size, and what value you’d use for a StandbyCount? I’m curious how far off of a curve fit ScaleOutFactor would be in the range you’re using 🤔

keithduncan avatar Aug 27 '21 01:08 keithduncan

Yeah. The warm pool could work too but I’m assuming there is some difficulty with it because you haven’t merged it yet.

My Min is 0 since I want to scale down at night to avoid pet machines (hense me being interested in max lifetime), and my Max is currently 200. During the day we will get up to around 150 instances right now. I would set StandbyCount to 5 probably. Our warmup time is currently 10 minutes so I will want to adjust based on build velocity and warmup time. I basically want 0 wait time for our builds as our warmup time grows. I expect warmup time to double every year with the build cache population time.

On Thu, Aug 26, 2021 at 6:24 PM Keith Duncan @.***> wrote:

Hi @ptarjan https://github.com/ptarjan this is an interesting idea! I think the warm pool could provide equivalent functionality in terms of performance 🤔

Could you share some numbers on your pool Min and Max size, and what value you’d use for a StandbyCount? I’m curious how far off of a curve fit ScaleOutFactor would be in the range you’re using 🤔

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/buildkite/elastic-ci-stack-for-aws/issues/893#issuecomment-906850915, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAJZT2MQIRTTSAQ5VCDJQDT63SLBANCNFSM5C4I6HVQ .

ptarjan avatar Aug 27 '21 02:08 ptarjan