Project

General

Profile

Actions

Docs TrafficShaping » History » Revision 3

« Previous | Revision 3/15 (diff) | Next »
Terminar, 2007-02-04 19:25


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

------------
Module: core
------------

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

.. 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.

Options =======

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

default: 0 (no limit)

server.kbytes-per-second:
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"] == "www.example.org" {
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
-------------------------

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

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

to set the speed of the current connection.

Options =======
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)

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

}}}

Updated by Terminar almost 18 years ago · 3 revisions