Сколько приложений Rails на 1 Heroku dyno? - PullRequest
21 голосов
/ 12 февраля 2010

Я просто не могу найти, сколько приложений вы можете разместить на heroku с одним dyno?

Я планирую разместить множество небольших приложений с небольшим трафиком.

Спасибо за ваши ответы

Ответы [ 4 ]

13 голосов
/ 12 февраля 2010

Dynos рассчитываются для каждого приложения.

Однако это не означает, что вам нужно купить 3 Dyno для запуска 3 приложений.Вы можете создать 3 приложения с 1 динамо.

7 голосов
/ 12 февраля 2010

Одно приложение на Dyno / subdomain.heroku.com.

0 голосов
/ 17 июня 2013

Я полагаю, что вы можете ускорить другой веб-процесс внутри веб-динамо. Я сделал это с рабочими. У одного рабочего динамо было 3 подпроцесса. каждая копия приложения rails, и каждая работает независимо от базы данных. Как вам удастся раскрутить правильное приложение, я не уверен ... И вам понадобится приложение контроллера.
Я не хочу сказать, что это невозможно, потому что я не верю, что это утверждение вообще конструктивно. Я скажу, что создание нового приложения с дополнительной платой в 34 доллара в месяц будет более эффективным использованием вашего времени / денег.

Дополнительная проблема. каждый веб-динамометрический модуль позволяет ограниченное количество памяти, и рельсы точно не известны как легкие на память. Когда я порождал субработников, у меня возникали проблемы с памятью. Так много, что я в итоге выкатил эту функцию. Если я работаю в течение дня, чтобы попытаться «подправить» ограничения, я потратил больше денег моих боссов, чем 4 месяца дополнительных динамов, так что я должен взвесить их.

В любом случае ... Вот как я разветвлял рабочих

require 'heroku-api'

...

  def self.fork_workers(iDesired = 5, iQueue = nil)
    cmd = "rake jobs:work WORKER=MY_SERF"
    cmd += " QUEUES=#{iQueue}" if(iQueue)
    p cmd  
    if(RUBY_PLATFORM["mingw32"].nil?)  #DON'T WORK ON WINDOWS
      currentCount = Rush::Box.new.processes.filter(:cmdline => /#{cmd}/ ).size;
      iDesired -= currentCount;
      if(iDesired > 0)
        iDesired.times { Rush::Box.new[Rails.root].bash( cmd, :background => true ) }
      elsif(iDesired < 0)

      end
    end    
  end

Последнее примечание: Одно приложение dyno перейдет в спящий режим, если оставить его в покое на час ... Ваши пользователи почувствуют задержку во время пробуждения. https://devcenter.heroku.com/articles/dynos#dyno-idling

0 голосов
/ 09 июля 2010

Некоторое объяснение здесь: http://docs.heroku.com/performance#backlog-too-deep

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...