Limit the upload bandwidth of your apache webserver with mod_bw

I’ve a server at home on a ADSL connection which has 100kBytes/s of upload and 1.2MBytes/s of download as bandwidth.

Here is a quick way to limit the bandwidth used by Apache :

Install & enable (on Ubuntu):

sudo apt-get install libapache2-mod-bw
sudo a2enmod bw

Configure (your apache virtualhost conf file like /etc/apache2/sites-available/default) :

<virtualhost *:80>

#... other config stuf for the virtual host

BandWidthModule On
ForceBandWidthModule On
BandWidth 0
BandWidth all 80000

Explaination :

  • line 1 : Activate the mod for the virtualhost.
  • line 2 : Set a directive so that the mod limit the bandwidth on all http request. (you can use an alternate config to limit only some mime type)
  • line 3 : set no limit for computer on your local area network.
  • line 4 : set a limit to 80KB/s to all other computer

Restart Apache so that the config is loaded and test :

service apache2 restart (or apachectl restart)

Test with Firefox on a large file. From my computer, I’ve first commented with a heading # the third line (BandWidth 0) and when it works, I uncommented it.


Leave a comment