Docs TrafficShaping » History » Revision 14
« Previous |
Revision 14/15
(diff)
| Next »
gstrauss, 2017-02-27 06:01
Traffic Shaping¶
- Table of contents
- Traffic Shaping
Module: core
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
Default: 0 (no limit)
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.
Note:
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 plugin¶
There is a small plugin (built-in since lighttpd 1.4.46 (#954)) 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.
Plugin 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)
Build it¶
See the attached file for the most recent version of mod_speed. To build it, download a recent version (from where?) (see #954), place this file in the src
directory and add it the following lines to your Makefile.am
:
lib_LTLIBRARIES += mod_speed.la mod_speed_la_SOURCES = mod_speed.c mod_speed_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined mod_speed_la_LIBADD = $(common_libadd)
Updated by gstrauss almost 8 years ago · 14 revisions