2015-06-24 1 views
2

Я запускаю приложение Rails 4 на Heroku с сервером Puma. Я использую только один базовый веб-дино (без рабочего), с 512 МБ оперативной памяти.Heroku Puma Rails 4: Получение ошибок R14, как мне масштабировать мой сервер?

В последнее время я столкнулся с большим количеством ошибок R14 (превышение квоты памяти), мой сервер разбился три раза вчера.

Вот мой Puma конфигурационный файл:

workers Integer(ENV['WEB_CONCURRENCY'] || 0) 
threads_count = Integer(ENV['MAX_THREADS'] || 5) 
threads threads_count, threads_count 

preload_app! 

rackup  DefaultRackup 
port  ENV['PORT']  || 3000 
environment ENV['RACK_ENV'] || 'development' 

on_worker_boot do 
    # Worker specific setup for Rails 4.1+ 
    # See: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot 
    ActiveRecord::Base.establish_connection 
end 

У меня есть несколько трудоемких задач, выполняемых каждый день на моем сервере, я думаю, что они являются причиной, почему я получаю эти R14 ошибки и сервера:

  • реки задача выполняется с Heroku планировщиком

  • импорта 10 фотографий (размер не более: 10 х 3MB) при создании/обновление модель п Амед Thing

  • экспорт бревен из моей базы данных, которые могут содержать до 6К строк

Вот мои вопросы:

  1. будет положить эти трудоемкие задачи на новый рабочий dyno помогает мне избежать ошибок R14/сбоев сервера? Если да, рекомендуете ли вы использовать драгоценный камень delayed_job_active_record или драгоценный камень resque?

  2. Как вы думаете, мой конфигурационный файл Puma в порядке?

  3. Не могу понять, как выполнять задачи рейка, выполняемые Планировщиком Heroku на рабочем динамо. Есть идеи ?

Большое спасибо за помощь!

+0

Sag, Я столкнулся с той же проблемой на данный момент. Не могли бы вы это решить? –

ответ

0

У меня нет личного опыта с настройкой рабочих динамов Heroku, но что касается вашего вопроса №2, файл должен быть в порядке, если вы используете Rails 4.1 или новее, иначе конфигурация должна соответствовать рекомендации по этой ссылке: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot.

В недавней попытке обновить мое приложение до Rails 4.2, потребление памяти значительно увеличилось, а ошибки R14 стали намного более частыми. Поэтому я вернулся к Rails 4.1 (версия Ruby - 2.2.2). Возможно, это то, что вы могли бы попробовать.

Кроме того, если вы этого еще не сделали, я рекомендую вам установить надстройку New Relic и взглянуть на потребление памяти каждого экземпляра на ссылке «Мониторинг/Экземпляры».

 Смежные вопросы

  • Нет связанных вопросов^_^