Personal tools
You are here: Home ブログ 井上 Apache2.4カウントダウン?
« December 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 31  
Recent entries
Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23
Herokuの発音 inoue 2010-12-20
雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18
IPA未踏のニュース inoue 2010-12-15
労基法とチキンゲーム inoue 2010-12-06
フロントエンドエンジニア inoue 2010-12-03
ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25
技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24
雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22
RESTの当惑 inoue 2010-11-22
「プログラマのためのUXチートシート」を作りました inoue 2010-11-19
「ビューティフルコード」を読みました inoue 2010-11-16
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.