Gea-Suan Lin's BLOG

Thursday, February 01, 2007

lighttpd 的進步

最近 不斷想辦法壓榨效率,利用各種方式想辦法增加 throughput。

先是在去年年底的時候發現 I/O block 的問題,在改用 Linux AIO 及 POSIX AIO 取代原來的 sendfile() 後發現 throughput 增加了 80%:Async IO on Linuxlighty 1.5.0 and linux-aiolinux AIO and large filesPRE-RELEASE: lighttpd-1.5.0-r1477.tar.gz (POSIX AIO)。

然後覺得 的 overhead 太高,於是 (看起來) 想要用 shm 解決:Faster FastCGIFaster Web 2.0

再來就是把 dynamic page 的壓縮也實做出來了:Compression of dynamic content

然後最近又發現丟小檔案時,stat() 因為會 block,所以 overhead 算是蠻重的,於是決定把 stat() 的 request 丟到 外面跑:Accelerating Small File-Transfers,而後來又發現用 Threading 會更快:Threaded stat()

以這個速度發展下去,在 1.5 正式出版後,從 1.4.13 升級上來的重度使者應該會感覺到 的效率爆增,然後搞不太清楚發生什麼事情?XD