Lighttpd 1.5 系がスゴイらしい
はてブで lighty のブログがあることを知ってブログを見てみました。lighty の中の人が書いてます。
ナント、lighty 1.5 系が pre release されているではありませんか!
なんでも、1.5 系は いままでより 80% のスループット向上が見込めると書かれています。激速の lighty が更に高速になるってわけですよ。Σ(゚Д゚;
On the other side we give the kernel to reorder the file-requests as it wants to.
Taking this two improments we can increase the throughput by 80%.
On the other side we don’t spend any time in wait in lighty itself. 64 kernel threads are handling the read()-calls for us in the background which increases the idle-time from 12% to 40%, a improvement of 230% .
高速化のキモは Async IO on Linux っていう kernel 2.6.9 以降の機能(libaio)にあるらしく、RedHat の libaio の説明によれば、
このライブラリ、libaioは、非同期I/O用のLinuxネイティブなAPIを提供するものです。
POSIXの非同期I/O機構は、カーネルによる高速な非同期I/O機能を提供するためにこのライブラリを必要とし、またLinuxネイティブの非同期I/O APIを要求するアプリケーションの場合も同様です。
とあります。ちなみに、Oracle 10g でも libaio で非同期 I/O の仕組みを使って I/O 周りの高速化を図っています。(インストール時に libaio が入ってないとエラーになる。)
libaio についてのより詳しい情報は、「Kernel Asynchronous I/O (AIO) Support for Linux」に記載されています。
まぁ、取りあえず kernel 2.6 系を使っているならば、
とでもして、最新の libaio を入れておいて損はないかと思われます。lighty 1.5 系のインストールにも必須ですし。
で、最終的に、「PRE-RELEASE: lighttpd-1.5.0-r1435.tar.gz」ってエントリーから tar-ball をダウンロードしてインストールしようとしたら、1.5 系ではその他にも大幅に変更がある模様。
・mod_fastcgi, mod_cgi, mod_scgi, mod_proxy are removed
・mod_proxy_core is the replace for the above plugins
・you have to spawn fastcgi processes with spawn-fcgi
・mod_cml is removed and mod_magnet isn’t included yet
fastcgi まわりが変わるみたいなので、開発環境でも作らないと気軽には試せないっすね。ベンチマークでは 512 Kb 以上の大きなファイルのスループットを計測してるのですが、小さなコンテンツを大量に返す場合のスループットを計測しなきゃと思う次第。
全体的に見て、遅くなる要素がなさそうなので動作検証がとれたら、自宅サーバをとっとと 1.5 系に乗り換えようと思ってます。
あぁ、あと、「mod-proxy-core and SQF」に書いてある、ロードバランスの機能がすごく気になりますね。Apache 2.2 系の mod_proxy_balancer あたりの影響受けてる?
調べることがいっぱいだ・・・
コメントやシェアをお願いします!
名無し
補足説明です.
http://pc8.2ch.net/test/read.cgi/mysv/1159169538/197