Вот как выглядит мой инфраструктурный стек
- Облачный провайдер: AWS - ec2
- APM: Datadog
- Механизм масштабирования: Dogscaler (aws и оболочка API datadog)
На высоком уровне, что делает собака-скалер, он вытягивает метрики из журнала данных и масштабирует вверх или вниз, если вытянутый показатель c достигает порога
Алгоритм выглядит следующим образом
def status
if self.result > scale_up_threshhold
# scale up
elsif self.result < scale_down_threshhold
# scale down
else
# do nothing
end
end
Я пытаюсь выяснить, существует ли формула для определения правильных порогов
скажем, за 1 день мы имеем следующие показатели:
- 30K запросов в минуту - это максимальный трафик c
- 5K запросов в минуту - это минимальный трафик c
- 20K - это средний трафик c для дня (это основано на математике из APM)
Что будет подходящим scale_down
и scale_up
пороги
Какие другие переменные вы бы посмотрели ибо если есть какие-либо