ApacheのKeepAliveはEventMPMでも使える

Apache
スポンサーリンク

ApacheのKeepAliveはEventMPMでも使えるのか?

という疑問がうかんだ。

 

 

KeepAliveとは

そもそもKeepAliveとは、

一度のTCPセッションの中でデータをやり取りするために、TCPのセッションを接続したままにすること。

 

キープアライブ とは、コンピュータネットワークにおいて、2つの装置間の接続が有効であることを確認し、また、接続が切断されるのを防止するために、装置間で定期的に送信される通信のことである。

キープアライブ - Wikipedia

 

EvnetMPMで使えると思った根拠

 

Qiitaの記事

当ブログの、「apache event 最大同時接続数 デフォルトはどれくらい? 」の記事でも参考にさせてもらったが、以下の記述が在る。

event MPMでは以下の状況の時にワーカースレッドがコネクションをリスナースレッドに返し、アイドル状態に戻れるようになっています。

  • keep aliveな接続でレスポンスを返し終わって次のリクエストを待っている時
Apacheのevent MPMのパフォーマンスチューニング方法 - Qiita
Apache2.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がつながっている。

 

 

 

 

 

 

 

 

コメント