Manage Apache Download Speed And Traffic Limits With mod_cband - Page 2
3 Apache Configuration
You can find all configuration directives on mod_cband's documentation page http://cband.linux.pl/documentation; I will describe the most important ones here.
In this chapter I assume we have a web site www.example.com on the IP address 220.127.116.11 with the document root /var/www and the following vhost configuration:
Please note: It is important that your vhost includes the ServerName directive (e.g. ServerName www.example.com) and that your mod_cband directives come after that directive, otherwise you will get a warning like this when you restart Apache:
Starting httpd: [Mon May 29 18:05:33 2006] [warn] Invalid command 'CBandSpeed', undefined virtualhost name
You can use the following units in the mod_cband directives:
- kbps: 1024 bits per second
- Mbps: 1024*1024 bits per second
- Gbps: 1024*1024*1024 bits per second
- The default is kbps.
- K: 1000 bytes
- M: 1000*1000 bytes
- G: 1000*1000*1000 bytes
- Ki: 1024 bytes
- Mi: 1024*1024 bytes
- Gi: 1024*1024*1024 bytes
- The default is K.
- S: seconds
- M: minutes
- H: hours
- D: days
- W: weeks
- The default is S.
First we add the following two directives to the global Apache configuration (not to the vhost from above!). They are needed to improve mod_cband's performance.
Now we create the scoreboard directory for our www.example.com vhost, /var/www/scoreboard. The directory must be writeable by the Apache user:
chown www-data:www-data /var/www/scoreboard/
chown apache:apache /var/www/scoreboard/
3.1 Configure Download Speed
Now let's say we want to limit the download speed. We can do it like this:
The CBandSpeed directive limits the overall Apache performance for the www.example.com vhost to a speed of 1024kbps, max. 10 requests per second and max. 30 open connections.
The CBandRemoteSpeed is like the CBandSpeed directive, but it sets limits for any individual user (as compared to the overall settings made by CBandSpeed).
After your changes, you must restart Apache: