Heroku: Как я могу динамически масштабировать динамограммы в зависимости от времени загрузки? - PullRequest
21 голосов
/ 17 марта 2011

В течение дня случаются случайные периоды, когда мое приложение может испытывать довольно резкое увеличение нагрузки в зависимости от различных факторов.

В то время я хотел бы автоматически увеличивать количество динамов.

Я бы хотел основать увеличение на времени загрузки.Так что, если загрузка страниц занимает X времени, увеличьте dynos.В противном случае вернитесь вниз.

Что-нибудь подобное существует?

Ответы [ 3 ]

18 голосов
/ 28 июля 2011

HireFire может автоматически масштабировать как ваши веб-, так и рабочие динамо на основе различных метрик.В настоящее время мы поддерживаем следующие источники / типы метрик:

  • HireFire (Response Time) |Web Dynos
  • HireFire (Job Queue) |Рабочий Динос
  • Heroku Logplex (Время отклика) |Web Dynos
  • Heroku Logplex (количество запросов в минуту) |Web Dynos
  • Heroku Logplex (загрузка процессора Dyno) |Web Dynos
  • NewRelic (Apdex) |Web Dynos
  • NewRelic (Время отклика) |Web Dynos
  • NewRelic (количество запросов в минуту) |Web Dynos

HireFire (время отклика) выполняет базовый HTTP-запрос для измерения времени отклика.

HireFire (очередь заданий) позволяетВы автоматически масштабируете свои рабочие динамо на основе их размеров очереди.Вы настроите на своем конце очень простую конечную точку (для этого у нас есть RubyGem, но это можно сделать на любом языке с любой библиотекой очень легко).Мы будем периодически выполнять проверки и соответственно масштабировать ваше рабочее образование.

Новая реликвия позволяет интегрироваться с Новой реликвией.Он будет периодически получать обновленные метрические данные, такие как среднее время отклика, количество запросов в минуту и ​​Apdex, чтобы определить формирование вашей веб-динамо.

Heroku Logplex - наше последнее дополнение.Этот подход опирается на ваши (и Heroku) журналы.Ваши журналы будут передаваться из Logplex Heroku в Logdrain HireFire, где он будет анализироваться для метрических данных.Это позволяет вам автоматически масштабировать свои веб-динос более надежным способом, чем с HireFire / ResponseTime, поскольку он получает данные непосредственно с маршрутизатора Heroku.Этот подход не требует никаких внешних зависимостей, таких как New Relic.

Свяжитесь с нами, если у вас есть какие-либо вопросы!

5 голосов
/ 24 апреля 2013

Для этого запущен новый аддон plug and play: https://addons.heroku.com/adept-scale

0 голосов
/ 17 марта 2011

Похоже, heroku-autoscale - хорошая ставка.

...