Working with TCP Sockets 読書メモ 第19章 Prefork

Working with TCP Sockets 読書メモ 目次

Prefork

  • Preforkパターンでは、接続が来る度にforkするのではなく、サーバ起動時にプロセスをまとめて用意する
  1. メインのサーバプロセスがlistenソケットを作成する
  2. メインのサーバプロセスが一群の子プロセスをforkする
  3. それぞれの子プロセスが共有されたソケットから接続を受け取って、独立して処理する
  4. メインのサーバプロセスは子プロセスを監視する
  • メインのサーバプロセス自身は接続を受け付けない点に注意

実装

  • 親プロセスが終了する際は、必ず子プロセスも合わせて終了するように注意する

考察

  • 利点:プロセス数を制限できる、(スレッドに比べて)プロセス単位で分離されている
  • 欠点:(スレッドに比べて)メモリ消費量が多い

コメントを残す