Rails のメモリ不足の問題 (heroku R14)
概要
Heroku ではない RoR アプリを実行していますが、利用可能な 512 MB を急速に消費します。私は puma (4.3.5) を使用しています。
ここのチュートリアルと、ローカルマシンでの脱線したベンチマークに従いました。 perf:mem_over_time とローカルのベンチマークでは問題が発生することはありません。驚くべきことは、ローカルマシン上のメモリは何があっても増加しないのに対し、アプリを Heroku にデプロイすると着実に増加するという事実です。
Heroku で問題をデバッグする方法について何かアイデアはありますか? heroky では postgres サーバーに接続できないというメッセージが表示されるため、脱線したベンチマークを実行することはできません (ユーザーには CONNECT 権限がありません)。
解決策
OK、問題は明白であるようです。本番環境のワーカー数は 5 に設定されていました。そもそも、各ワーカーは平均 80Mb を消費するため、メモリがわずかに増加しただけで、R14 のメモリ不足がトリガーされます。ワーカーを 2 人に減らしましたが、今は問題ありません。