(Anonymous, 2007-02-14 20:57)
(Anonymous, 2008-08-13 00:41)
The basic network interface for all platforms at the syscalls read() and write(). Every modern OS provides its own syscall to help network servers transfer files as fast as possible
linux-sendfile - is recommended for small files.
writev - is recommended for sending many large files
gthread-aio - available from lighttpd 1.5. As of r1605, this is compiled in by default (ie, lighttpd will not compile without glib2 >= 2.4.0 installed). gthread is provided by glib2. The package in redhat is named "glib2" and in debian and ubuntu "libglib2.0-dev"
posix-aio - uses librt (or libc on FreeBSD)
linux-aio-sendfile - available when libaio is installed on the system. On Centos 4/RHEL4, you can install libaio by doing
yum -y install libaio-devel
Enabled when lighttpd is configured with --with-linux-aio
(Note: linux-aio is disabled in lighttpd-1.5-svn but can be re-enabled by modifying several files [http://trac.lighttpd.net/trac/changeset/2002])
Comparision of performance with different network backends is available [http://www.lighttpd.net/2007/2/3/raw-io-performance here]
server.network-backend = "linux-sendfile"