Personal tools
You are here: Home ブログ 井上 Apache2.4カウントダウン?
« September 2010 »
Su Mo Tu We Th Fr Sa
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
Recent comments
Re:Javaの面白いバグ 徐です 2010-08-30
Re:Javaの面白いバグ inoue 2010-08-23
Re:Javaの面白いバグ 徐です 2010-08-18
Re:WebSocketのプロトコル inoue 2010-08-12
Re:WebSocketのプロトコル naruse 2010-08-11
Re:blogのコメントスパムが多すぎる inoue 2010-07-22
Re:マルチスケジューラv5.1.4をリリース - inspired by salesforceのchatter - inoue 2010-06-09
Re:マルチスケジューラv5.1.4をリリース - inspired by salesforceのchatter - hamabe 2010-06-08
Re:雑誌連載「Emacsのトラノマキ」の原稿(part4)公開 tune 2010-05-27
Re:雑誌連載「Emacsのトラノマキ」の原稿(part4)公開 tune 2010-05-27
Re:Emacs23.2が更に1ビット稼いだ秘密 inoue 2010-05-14
Re:Emacs23.2が更に1ビット稼いだ秘密 ef 2010-05-13
Categories
カテゴリなし
 
Document Actions

Apache2.4カウントダウン?

タイトルではapache2.4と書いてしまいましたが、開発版のapache2.3の最初のリリース(2.3-alpha)の計画がMLに流れただけです。

2.3リリースから安定版の2.4リリースまでどれぐらいかかるかは分かりません。2.1-betaから2.2リリースまで9ヶ月ぐらいかかっているようなので、今回もそんなものかもしれません。

apache2.4はそんなに目をひく新機能は見つかりません。(プログラミング言語)Luaが使える新モジュールが標準で入りましたが、地味です。

experimentalではなく、新しいmpmが入っています。名称はsimpleです。説明文に'poll callback event system'とあるのでこれだけ読んで勘違いしそうですが、(巷で高速をうたうhttpサーバが採用する)いわゆる1スレッド・ノンブロッキングI/Oモデルではありません。モデル的にはいわゆるworker-threadモデルです。ただし、従来のworker mpmとは少しだけ動作が違います。

従来のworker mpmでは、listener threadがソケットをpoll(2)して、accept(2)可能になるとaccept(2)して、TCPセッション確立後のソケットをworker threadに渡します。その後は、worker threadがそのHTTPセッションの面倒を見ます。難点として、クライアントがだらだらとHTTPのやりとりをしたり、keep-aliveでセッションを張りっぱなしでHTTPのやりとりを続けるとworker threadが占有されてしまいます。意図的にHTTPでポーリングしてくるクライアントでない限り、apache側のタイムアウトを適切に設定すればworker threadは解放されますが、worker threadの占有が増えれば、結果的に、さばける同時アクセス数は減ります。

simple mpmでもlistener threadがソケットをpoll(2)して、accept(2)後にTCPセッション確立後のソケットをworker threadに渡すまでは同じです。その後、(正確なタイミングは不明ですが(*))worker threadはソケット監視をlistener threadのpoll(2)に戻して、worker thread自身がスレッドプールに戻ります。理想的に動作すれば、占有されて遊休に近いworker threadが減るので、並行性は上がりそうです。

もっとも机上で考えるほど理想的に動作するかはなんとも言えません。不当にスレッド切替えが頻発してパフォーマンス劣化の可能性もあるからです。

(*)コードを眺めるだけではread、writeをノンブロッキングにしているかも不明です。

The URL to Trackback this entry is:
http://dev.ariel-networks.com/Members/inoue/apache2.4-alpha/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
This helps us prevent automated spamming.
Captcha Image


Copyright(C) 2001 - 2006 Ariel Networks, Inc. All rights reserved.