Project

General

Profile

Docs TrafficShaping » History » Revision 9

Revision 8 (moo, 2007-07-07 15:30) → Revision 9/15 (zkv, 2008-11-21 23:12)

h1. [[TracNav(DocsToc)]] 

 <pre> 

 #!rst 
 =============== 
 Traffic Shaping 
 =============== 

 {{>toc}} ------------ 
 Module: core 
 ------------ 

 *Module: core* .. meta:: 
   :keywords: lighttpd, bandwidth limit, traffic shaping 

 h2. .. contents:: Table of Contents 

 Description 
 =========== 

 Starting with 1.3.8, lighttpd supports limiting the bandwidth for 
 a single connection or config context like a virtual host or a URL. 

 h2. Options 
 ======= 

 *connection.kbytes-per-second* 
 Limit connection.kbytes-per-second: 
   limit the throughput for each single connection to the given 
   limit in kbyte/s 
 Default: 

   default: 0 (no limit) 

 *server.kbytes-per-second* 
 Limit server.kbytes-per-second: 
   limit the throughput for all connections to the given limit 
   in kbyte/s 
 Default: 0 (no limit) 

 If 

   if you want to specify a limit for a special virtual server 
   use: 

 <pre> :: 

     $HTTP["host"] == "www.example.org" { 
       server.kbytes-per-second = 128 
     } 

 </pre> 

 

   which will override the default for this host. 

   default: 0 (no limit) 

 *Note:* Additional Notes 
 ================ 

 Keep in mind that a limit below 32kb/s might actually limit the traffic to 32kb/s.  
 This 
 is caused by the size of the TCP send buffer. 

 h2. 


 ------------------------------------- 
 Selective traffic shaping plugin(>=1.5-svn) (>=1.5-svn) 
 ------------------------------------- 

 There is a small plugin to use selective traffic shaping on a per-connection base. You can e.g. use php and do: 

 <pre> do:: 

  <?php 
  header("X-LIGHTTPD-KBytes-per-second: 50"); 
  header("X-Sendfile: /path/to/file"); 
  ?> 

 </pre> 

 to set the speed of the current connection. 

 h2. Plugin options 

 *speed.just-copy-header Options 
 ======= 
 speed.just-copy-header = "enable"* 
 Use "enable" 
   use this on the frontend to just copy the header from the response to the request header (forward it to the backend) 
 Default: 

   default: "disabled" (just use it) 

 *speed.use-request speed.use-request = "enable"* 
 Use "enable" 
   use this on the backend to fetch the speed from the request. This is not useful on the frontend, i think :)  
 Default: 
  
   default: "disabled" (don't look in the request headers) 

 


 Download here: 
 ======== 
 http://trac.lighttpd.net/trac/attachment/wiki/Docs/TrafficShaping/mod_speed.c 

 </pre>