ApacheのKeepAliveはEventMPMでも使えるのか?
という疑問がうかんだ。
KeepAliveとは
そもそもKeepAliveとは、
一度のTCPセッションの中でデータをやり取りするために、TCPのセッションを接続したままにすること。
キープアライブ とは、コンピュータネットワークにおいて、2つの装置間の接続が有効であることを確認し、また、接続が切断されるのを防止するために、装置間で定期的に送信される通信のことである。
キープアライブ - Wikipedia
EvnetMPMで使えると思った根拠
Qiitaの記事
当ブログの、「apache event 最大同時接続数 デフォルトはどれくらい? 」の記事でも参考にさせてもらったが、以下の記述が在る。
event MPMでは以下の状況の時にワーカースレッドがコネクションをリスナースレッドに返し、アイドル状態に戻れるようになっています。
- keep aliveな接続でレスポンスを返し終わって次のリクエストを待っている時
Apacheのevent MPMのパフォーマンスチューニング方法 - QiitaApache2.4からMPMモジュールのデフォルトがevent MPMになって久しいですが、それのパフォーマンスチューニングをしようと思うと設定項目がそれなりにあり、なにげに難しいです。ググってもま…
KeepAliveのデフォルトがOnである
Apache公式ヘルプのKeepAliveディレクティブの説明を見ると、
デフォルト: KeepAlive On
core - Apache HTTP サーバ バージョン 2.4
になっている。
EventMPMもデフォルトのMPM。つまり、デフォルトで
- EventMPM
- KeepAliveがOn
の状態。
ちなみに、
このディレクティブの説明は面白いので読んでみるとよろし。
httpd -t してもエラーが出ない
MPMがEvent(デフォルト)で、
httpd -t
コマンド(apacheのconfの構文テストコマンド)の結果が、
Syntax OK
だった。
EventMPMでKeepAliveが有効なイメージ図
分かりづらw
keep aliveな接続でレスポンスを返し終わって次のリクエストを待っている時
の状態で、サーバー(EventのListnerスレッド)とClientがつながっている。
コメント