foreman start -c web=16 は fork ごとに 16 個のマスター unicorn プロセスを開始しますが、デフォルトでは多くのワーカー プロセスが設定されています。
foreman start -c web=1 while worker_processes を 16 に設定すると、16 個のワーカー プロセスをフォークする単一のマスター ユニコーン プロセスが開始されます。
主な違いは、誰にプロセスを制御させるかです。ユニコーン マスター プロセスは、フォークされたプロセスを追跡し、クリーンアップと再起動のためにいつハングしたかを知るという考えに基づいて構築されています。フォアマン プロセスは、マスター ユニコーン プロセスについてのみ認識し、マスター ユニコーン プロセスによってフォークされたプロセスは認識しません。
ユニコーン ラック サーバーは、実行中の複数のプロセス (たとえば 4 つのシン サーバー) を置き換えるために特別に構築されており、代わりに単一のマスター プロセスを実行し、フォークされたワーカー プロセスの管理を処理させます。これにより、1 つのプロセスが、ラック アプリケーションにサービスを提供する他のすべてのプロセスを認識することができます。
簡単に言えば、単一のユニコーン プロセスを実行し、構成ファイルにワーカーの数を追加します。職長にやらせてはいけません。