My rails 4.1 приложение подключается ко второму, не первичному серверу через SSH для работы с бэкэнд. Следовательно, когда приложение rails перезапускается ежедневно, SSH-соединение должно быть в режиме реального времени (скорее, второй, не первичный сервер должен жить/вверх), в противном случае приложение выйдет из строя. Это связано с тем, что при загрузке по умолчанию задано значение true в production.rb
(config.eager_load = true
).
У меня возникает соблазн нарушить эту зависимость, отключив загруженные нагрузки, но я не могу найти много информации о влиянии производительности. Итак, мои вопросы...
1), если eager_load
установлен на false
, это просто замедлит время запуска приложения или приложение будет загружать ресурсы при первом ударе?
3) Если eager_load
просто отключен, в какой степени это повлияет на производительность приложения (более субъективный вопрос)?
2) Модель, которая выполняет соединение SSH, находится в папке app\models\legacy
. Вместо изменения eager_load
на false, может ли эта папка быть исключена из загруженных ресурсов? Если да, то как? Я считаю, что мне нужно будет отредактировать config.autoload_paths += Dir[Rails.root.join('app', 'models', '{**/}')]
, но не совсем уверен.
production.rb:
# Eager load code on boot. This eager loads most of Rails and
# your application in memory, allowing both thread web servers
# and those relying on copy on write to perform better.
# Rake tasks automatically ignore this option for performance.
config.eager_load = true