3

Heroku でのステージング時に、Sidekiq ワーカーでメモリ リークが発生するという問題があります。

私たちが実行している本番環境では、この問題はありません。

ruby 1.9.3
レール 3.2.13
sidekiq 2.12.1
セルロイド 0.14.1

ステージングには、アップグレード ブランチがあります。

ruby 2.0.0 rails 4.0.0 sidekiq 2.14.1 celluloid 0.14.1

Heroku のメモリ ログを使用すると、時間の経過とともに memory_cache が増加し続けていることがわかります。

ここに画像の説明を入力

私たちのコードではないことは約 95% 確信しています。ワーカー コードは同じであり、ワーカー コードを削除して、データベースから読み取ったばかりのワーカーをキューに入れるだけでも、メモリ リークが発生します。ワーカーがほんの一握りのレコード (~10) しか取得しない場合でも、私は find_each を使用しています。

これをさらに追跡する方法に関するヒントや提案は役に立ちます。私の次のステップは、空白の rails プロジェクトと heroku アプリケーションを作成して、メモリ リークが発生するかどうかを確認することです。

4

0 に答える 0