Project

General

Profile

Server network-backendDetails » History » Revision 7

Revision 6 (Anonymous, 2008-08-13 00:41) → Revision 7/11 (kjikaqawej, 2008-12-22 09:35)

h2. <pre> 

 #!rst 

 server.network-backend option 
 ============================= 

 +server.network-backend+ 

 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 <code>--with-linux-aio</code> --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 ) [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 


  [http://www.lighttpd.net/2007/2/3/raw-io-performance here] 
  ::  

   server.network-backend = "linux-sendfile" 


 </pre>