タグ

httpdに関するdonbulinuxのブックマーク (2)

  • 【Apache】preforkの話 - Qiita

    概要 preforkの話。preforkってなんだっけって話から広げていく そもそもTCP通信のフロー LinuxでTCPクライアント/サーバで通信するにはサーバ側は以下の手順を踏んで通信を待ち受ける。 socket() -> bind() -> listen() -> acceps() 単一プロセスで動くTCPサーバであれば上記の手順で十分だがクライアントが複数になった際に同時接続をされた際にクライアント1は接続可能だがクライアント2は接続を行うことができない。 複数クライアントの同時接続に対応するため,fork() システムコールを使用する。一番簡単なやり方として親プロセスでlistenまでを行い子プロセスを生成しその続きを子プロセスで行ってもらう方式。以下は簡単なサンプル。この方法によって単一プロセスのTCPサーバで起きる問題が子プロセスの生成によって起きなくなるという仕組み。 //

    【Apache】preforkの話 - Qiita
  • Apache最大同時接続数の設定考察について

    2019/10/12 2020/01/06 タグ: Apache2.4, prefork, SWAP, プロセス, 最大接続数 Apache Webサーバは、接続に関するプロセスの作り方を3種類のモジュールタイプで提供している。 それはprefork/worker/eventがその3種類に該当し、いずれかのモジュールタイプを選択して利用することになる。デフォルトはpreforkである。(Redhat8/CentOS8ではeventがデフォルト。) preforkは単純に1セッションづつ扱うhttpdプロセスを決められた最大数(maxclients)まで状況に応じて生成してゆく方式である。 なぜ、このpreforkをデフォルトにしているかだが、様々なサーバ環境構築で万人が使って失敗しにくいというのが音だろう。thread safeな仕組みなら大きな問題は出ない。しかしパフォーマンスが高いの

  • 1