Я читал статью Ричарда Шнеймана и кучу других. ;-) Я все еще борюсь с этим.Какая конфигурация для Rails 3.2.22.2 + Puma + Heroku?
Вот несколько драгоценных камней я добавил в моем Gemfile для сравнения мое приложение:
gem 'airbrake'
gem 'newrelic_rpm'
gem 'stackprof'
gem 'derailed', group: :development
gem 'rack-mini-profiler'
gem 'flamegraph'
gem 'memory_profiler'
gem "skylight"
После большого количества тестов в развитии и в постановке окр, я знаю, где мое приложение не достаточно быстро, но не утечка памяти (иногда иногда может возникнуть небольшая память).
newapp-устроив приложение является новой версией (ака: новый интерфейс, модернизированные драгоценные камни, оптимизированные запросы, ...) из oldapp производства приложений. Пожалуйста, посмотрите на скриншоты (oldapp-производство использование WEBrick, newapp-постановка использование пума)
Так вот идет 2 простых вопроса:
вопрос № 1
newapp- staging приложение использует ruby '2.2.0' & rails '3.2.22.2', и я не могу гарантировать, что он является потокобезопасным из-за моего кода и связанных с ним камней, поэтому ... Я должен использовать только один поток за раз. Является ли puma преимуществом здесь? Метрики не говорят мне. ИЛИ ... моя конфигурация не очень хорошая. (Отсутствует preload_app может быть, или другие вещи!?) Вот мой PROCFILE:
web: bundle exec puma -t 1:1 -p ${PORT:-3000} -e ${RACK_ENV:-development}
worker: bundle exec rake jobs:work
вопрос № 2
Unicorn может быть использован в качестве замены?
Спасибо за ваше время и ваши советы.
Приветствия