Project

General

Profile

Actions

Server network-backendDetails » History » Revision 7

« Previous | Revision 7/12 (diff) | Next »
kjikaqawej, 2008-12-22 09:35
fixed up !#rst page


server.network-backend option

server.network-backend

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 here: http://www.lighttpd.net/2007/2/3/raw-io-performance

server.network-backend = "linux-sendfile"

Updated by kjikaqawej about 16 years ago · 7 revisions