2017-02-22 40 views
0

Запуск приложения rails с помощью героку, за последний месяц мы получаем превышение квоты памяти (R14) и вряд ли пытаемся найти причину, но не получили никакой точной причины? это из-за web_concurrency? Кроме того, мы используем new_relicРельсы с Heroku

Rails: 3.2.22

Ruby: 1.9.3

сервер: единорог, WEB_CONCURRENCY 5

В общей сложности 20 динамометрических стендов мы используем и управление с процессом планировщика

enter image description here

+0

Возможно, приложение выполняет утечку памяти. Поскольку вы используете новую реликвию, см. Их журнал, чтобы проверить график использования памяти. Если диаграмма все еще показывает увеличение памяти (не насыщая) даже спустя долгое время (возможно, несколько часов или день) после перезапуска динамиков, тогда это утечка памяти. Если это так, то я не знаю, сможет ли кто-нибудь помочь вам без полного исходного кода. Мне было трудно их искать. Первым предложением будет обновление до Ruby 2.x, если это возможно. У этого есть огромное улучшение в сборке мусора над 1.9.x – Sajan

ответ

0

весь стек RoR довольно много устаревших и Heroku в настоящее время поддерживает Puma, как его предпочтительней сервер, который ест гораздо меньше памяти (вы можете проверить их тест на на http://puma.io/) puma benchmark

Тем не менее, если проблема началась из ниоткуда, я предпочел бы искать драгоценные камни или кусок кода, либо вызывающих такие потребление памяти (activeadmin, rmagick и т. д.). Кроме того, быстрое, но более дорогое решение будет увеличивать ваш dyno (Performance-L или Performance-M) Как WEB_CONCURRENCY попытайтесь снизить его и проверить, разрешает ли это проблему R14

+0

Да с puma, но мы удостоверились, что наш код нитевиден правильно? – django

+0

Вы используете Rails 3.2.22, поэтому базовый фреймворк, по крайней мере, является потокобезопасным. Мне кажется, что вы просто пытаетесь сделать устаревшее приложение rails «просто работать». Вы можете решить свою проблему, добавив hw или улучшив sw. Программный (обновление рубиновой версии, рамки рельсов и использование puma (вместо единорога) облегчат большую проблему ур. Если у вас нет времени прямо сейчас, ваш лучший снимок увеличивает вашу динамическую производительность. проблема с утечкой памяти, время от времени вас будет раздражать вещь R14. Единственное различие заключается в том, что дельта будет выше, а лучшие диноды – Codextremist

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

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