Проблема с утечкой памяти на Heroku с Sidekiq

У меня проблема с утечкой памяти моего рабочего Sidekiq при постановке на Heroku.

У нас нет этой проблемы на производстве, где мы запускаем:

ruby 1.9.3
рельсы 3.2.13
sidekiq 2.12.1
целлулоид 0.14.1

На стадии подготовки у нас есть ветка обновления:

рубин 2.0.0 рельсы 4.0.0 sidekiq 2.14.1 целлулоид 0.14.1

Используя журнал памяти Heroku, вы можете видеть, что со временем memory_cache продолжает увеличиваться.

введите здесь описание изображения

Я примерно на 95% уверен, что это не наш код. Рабочий код тот же, и даже если вы удалите рабочий код и просто поставите в очередь рабочие процессы, которые только что прочитали из базы данных, произойдет утечка памяти. Я использую find_each, несмотря на то, что рабочий процесс извлекает только несколько записей (~ 10).

Любые советы или предложения о том, как отследить это дальше, будут полезны. Мой следующий шаг — создать пустой проект rails и приложение heroku, чтобы посмотреть, смогу ли я добиться утечки памяти.


person JB.    schedule 24.09.2013    source источник
comment
Вы когда-нибудь выясняли источник проблемы? У меня похожие проблемы, и я не знаю, с чего начать отладку проблемы...   -  person Syl    schedule 05.11.2013
comment
Я так и не нашел основной проблемы. Впоследствии мы изменили способ запуска задачи, которая вызывала утечку памяти. Поддержка Heroku была абсолютно бесполезна. Это был довольно разочаровывающий опыт.   -  person JB.    schedule 14.12.2013
comment
@JB Можете ли вы поделиться, какие меры по предотвращению утечки памяти вы применяли?   -  person RAJ    schedule 15.12.2014
comment
аналогичная проблема: stackoverflow .com/questions/18978396/   -  person Oshan Wisumperuma    schedule 13.03.2019