Docs TrafficShaping » History » Revision 8

« Previous | Revision 8/15 (diff) | Next »
moo, 2007-07-07 15:30


Traffic Shaping

Module: core

.. meta::
  :keywords: lighttpd, bandwidth limit, traffic shaping

.. contents:: Table of Contents


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


  limit the throughput for each single connection to the given
  limit in kbyte/s

  default: 0 (no limit)

  limit the throughput for all connections to the given limit
  in kbyte/s

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

    $HTTP["host"] == "" {
      server.kbytes-per-second = 128

  which will override the default for this host.

  default: 0 (no limit)

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.

Selective traffic shaping (>=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::

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

to set the speed of the current connection.

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

  default: "disabled" (just use it)

speed.use-request = "enable" 
  use this on the backend to fetch the speed from the request. This is not useful on the frontend, i think :)

  default: "disabled" (don't look in the request headers)


Updated by moo about 16 years ago · 8 revisions