Server network-backendDetails » History » Revision 7
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
(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 here: http://www.lighttpd.net/2007/2/3/raw-io-performance
server.network-backend = "linux-sendfile"