Я запускаю приложение на основе NodeJS, подключенное к mongohq-MongoDB, на бесплатно Dyno. Я хотел бы перенести его на использование хобби Dyno, и мотивация сделать это не только во время сна, но и для обеспечения более высокой пропускной способности HTTP-трафика.Рекомендации по масштабированию на платформе Heroku
Прочитав документацию Scaling и статью Procfile, я смутился о том, как следует масштабировать по Heroku.
В Procfile статье говорится, что веб тип процесса является единственным процессом, который будет получать HTTP трафик от Heroku маршрутизации меш.
Так что мои вопросы:
- Когда есть уже один хобби Dyno работает, выполняя «Heroku пс: масштаб веб + 2» приведет в том, +2 веб-процессов на том же Dyno или в добавлении два хобби Dynos (в общей сложности три увлечения Dynos)?
- Всего три хобби Dynos означает 3 веб-процесса и 27 не-веб-процессов?
- В this ответ, он предложил использовать кластер модуль раскошелиться потоков для обработки HTTP-запросов, как можно определить # работников, которые должны быть созданы (в цикле
// fork worker processes
)? - Как я должен решить, когда масштабировать мое приложение по горизонтали (добавить динамометрические стенды одного и того же типа) вертикально (сильнее динамометрические стенды как стандарт-1X/2X)
- Горизонтальная шкала должна быть запущена для обработки более высокой # запросов ?
- Вертикальная шкала должна быть запущена для обработки тяжелее обработки (больше вычислительных ресурсов в необходимости предоставления ответа на соответствующий запрос?)
NB,
В Scaling раздел this ответ, результат Dynos по-прежнему не ясен в отношении вопроса № 1 выше.
Имей ввиду, что оптимизация приложений (например, найти/удалить узкие места, и т.д ...) выходит за рамки этого вопроса, поскольку цель его заключается в улучшении нашего понимания ресурсосбережение использования на Heroku Платформа.
Что касается № 1, то в разделе [* Шкала масштабирования по умолчанию *] (https://devcenter.heroku.com/articles/dyno-types#default-scaling-limits) раздел «Свободные и хобби-диноды» поддерживайте максимум один динамический запуск для каждого типа процесса ». Это означает, что если я хочу добавить веб-диноды, мне нужно будет добавить еще примеры Хобби, правильно? –
Вы не можете добавить несколько веб-динодов в одно приложение на уровне Хобби. – bigkevmcd
Спасибо за разъяснение. И спасибо за подробный ответ, я уверен, что Heroku и даже другие сообщества извлекут выгоду из полезной информации и идей выше :) –