Serving large files from a web server can be a pain, specially if you have limited bandwidth. The ultimate goal is to offer the best service to each user, that’s why it’s a good idea to sometimes limit or throttle the available bandwidth for each user.
In the Ubuntu repositories you can find the modules libapache2-mod-bw for Apache which will help you manage the the available bandwidth each user gets when downloading a file from Apache web server.
This article assumes you already have a functional Apache installation
Install mod_bw using apt-get.
sudo apt-get install libapache2-mod-bw
And enable the module using a2enmod bw.
sudo a2enmod bw
Now add the following to /etc/apache2/sites-available/default. The intention is to limit the bandwidth available to every user to 10Kb/s. Double the value in Bandwidth all if you wish to increase the rate.
ServerAdmin webmaster@localhost BandwidthModule On ForceBandWidthModule On Bandwidth all 10240 MinBandwidth all -1
Restart Apache web server for the changes to take effect.
sudo /etc/init.d/apache restart