generated at
同時アクセスを受け付けるWebサーバーを作る
socketで複数のリクエストを受け付けるには
メインプロセスがそのまま処理すると、処理が終わるまで次は待たされる
受け付け(accept)たら、すぐに別の担当者に渡して、受け付け待ちに戻る
別の担当者: 別プロセス、別スレッド、がある

窓口になるプロセスとは別に、レスポンスを用意するワーカープロセスを用意する
アクセスごとにプロセスを起動するモデル
プロセス起動のコストが高い
プロセスfork時にメモリをコピーするので情報渡しが楽
事前にいくつかプロセスを起動しておくモデル
メインプロセスから情報を渡すための経路を用意する必要がある

1プロセスの中で複数スレッドを作って並列処理
メモリやソケット(fd)が共有されていて楽
しかしスレッド自体を使いこなすのが相当難しい

1プロセスで1スレッドで、窓口受け付けとワーカーの両方を行う

マルチサーバー
複数のサーバーを用意して、それぞれのサーバーで並行してリクエストを受け付けられるようにする
1サーバー内で並列処理できるようにして、それでも足りない場合はマルチサーバーを用意する
1台ごとにお金がかかる