使用 Linux AIO 加速 lighttpd – 获得更高的性能
Linux 内核 2.6 版已支持 AIO(异步 I/O)。通过启用 Lighttpd AIO,您可以获得良好的性能提升。但什么是 AIO?
通常,您的应用程序需要等到 I/O 调用完成。AIO 甚至允许单个应用程序线程将 I/O 操作与其他处理重叠,方法是提供一个接口,用于在一个系统调用中提交一个或多个 I/O 请求而无需等待完成,以及一个单独的接口,用于获取与给定完成组相关的已完成的 I/O 操作(有关更多详细信息,请参阅Linux AIO主页)。
Lighttpd 1.5.x支持 AIO。首先确保已经安装了 libaio:
# yum install libaio-devel
接下来获取 lighttpd 源代码并使用 –with-linux-aio 选项进行编译:
# ./configure --with-openssl --with-linux-aio
安装 lighttpd
# make; make install
创建配置文件并将以下指令放入lighttpd.conf文件中:
server.network-backend = "linux-aio-sendfile"
保存并关闭文件。重新启动lighttpd:
# /etc/init.d/lighttpd restart
使用 httpd_load /ab 命令对Web 服务器进行性能基准测试。
请注意,我已经在 Redhat Enterprise Linux 4/5 和 Cent OS 上测试了上述说明。