Как узнать какие запросы к RoR веб-серверу приводят к утечкам памяти?
Недавно на Heroku веб-приложение подошло к лимиту памяти 512 МБ и стали сыпаться ошибки R14 (overquota).
Ruby 2.2.0, Rails 4.2.6. Puma 3.4.0. Перезапускал dyno в надежде что потребление памяти будет расти медленно, но я ошибался.
Есть несколько задач, запускающиеся планировщиком.
Как можно узнать что именно приводит к увеличению памяти, задачи или запросы?
Подскажите инструменты.
Сейчас приложение кушает лишь около 64% квоты, что само по себе круто ввиду лёгкости изменений. Количества воркеров достаточно 1-го из-за малого количества пользователей.
Уже ранее пробовал derailed_benchmarks, который показал, что фреймворк занимает около 48 МБ. Видимо, остальное кушает само приложение поверх фреймворка.
Но пока не нашёл способа определить что виновато: конкретные контроллеры и методы или фоновые задачи.