Techioz Blog

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 人に減らしましたが、今は問題ありません。