すべてのRackアプリケーションサーバー( UnicornとPassengerの経験があります)は、作成時にすべてのワーカーに対して単一のプロセスを作成しており、その状態は「凍結」されていたと確信していました。
アプリサーバーが処理要求を受信するたびに、マスタープロセスからフォークされ、フォークされたプロセスへのそれ以降のすべての変更は元のプロセスから分離されます。それらはコピーオンライトの最適化の恩恵を受けており、リクエストの処理によって「損傷」しても安全です。環境へのすべての変更は、とにかくプリエンプトされる単一のプロセスにのみ影響します。
RoRアプリケーションスタックの私のビジョンが正しければ、単一のリクエストの処理に多くの時間とメモリがかかる場合を除いて、ガベージコレクションはほとんど必要ありません(通常はそうではありません)。
一方、NewRelicで行われたGC測定についての質問とその答えから、私は完全に間違っているに違いないと結論付けました。
誰かがこのプロセスを明確にすることができますか?