C3rd
Manage Apache Download Speed and Traffic Limits
Posted: 13 Jun 2012, 22:36pm - WednesdayI've been experimenting on how I can limit the download speed via Apache configuration. This method is good for file-sharing website and for hosting servers. In my case, I am using Centos 5.5 and Apache 2.2.3 + mod_cband 0.9.7.5. So, here's what you will do... Assume you already installed the Apache.
- Install Apache Development libraries by casting "yum -y install apache-devel"
- Download "mod_cband" from http://dembol.org/blog/mod_cband/ or direct download link at http://dembol.org/downloads/cband/mod-cband-0.9.7.5.tgz
cd ~ wget http://dembol.org/downloads/cband/mod-cband-0.9.7.5.tgz tar xzvf mod-cband-0.9.7.5.tgz cd mod-cband-0.9.7.5 ./configure make make installTo check if successfully installed, type just like below and must have same result:
[root@localhost ~]# cat /etc/httpd/conf/httpd.conf | grep mod_cband.so LoadModule cband_module /usr/lib/httpd/modules/mod_cband.soThen add the code below at httpd.conf then save and restart apache.
CBandScoreFlushPeriod 1 CBandRandomPulse OnNext is add a "scoreboard"
mkdir /var/www/scoreboard chown apache:apache /var/www/scoreboard/Final steps is create an vhost entry at /etc/httpd/conf.d just like this (in my case, I created cband.com as my vhost);
[root@localhost conf.d]# cat cband.com.conf
<VirtualHost *:80>
ServerAdmin webmaster@cband.com
DocumentRoot /home/cband.com/public_html
ServerName cband.com
CBandSpeed 1024 10 30
CBandRemoteSpeed 50kb/s 3 3
CBandLimit 500M
CBandExceededSpeed 128 5 15
CBandScoreboard /var/www/scoreboard
CBandPeriod 4W
CBandExceededURL http://cband.com/exceeded.html
<Location /cband-status>
SetHandler cband-status
</Location>
<Location /cband-status-me>
SetHandler cband-status-me
</Location>
ErrorLog logs/cband.com-error_log
CustomLog logs/cband.com-access_log common
</VirtualHost>
[root@localhost conf.d]#
After you created the vhost file, restart your apache.
You can check the status of certain vhost by accessing the URL: http://cband.com/cband-status
or another status URL: http://cband.com/cband-status-me
Further Explanation:
- CBandSpeed 1024 10 30 -- Overall apache performance. Max bandwidth speed is 1024bits per secs. 10 requests per secs. 30 max connections
- CBandRemoteSpeed 50kb/s 3 3 -- Individual apache performance. Max bandwidth speed is 50kb/s, max 3 requests/s and max 3 connections
- CBandLimit 500M -- 500MB max bandwidth limit
- CBandExceededSpeed 128 5 15 -- Bandwidth speed limit at 128kbps, 5 request/s and max of 15 connections
- CBandScoreboard /var/www/scoreboard -- scoreboard location
- CBandPeriod 4W - time to refresh
- CBandExceededURL http://cband.com/exceeded.html -- if bandwidth exceeded, redirect to the specified URL.
You can use the following units in the mod_cband directives:
Transfer speeds:
kbps: 1024 bits per second
Mbps: 1024*1024 bits per second
Gbps: 1024*1024*1024 bits per second
The default is kbps.
Transfer quotas:
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.
Time periods:
S: seconds
M: minutes
H: hours
D: days
W: weeks
The default is S.
Reference:
Download mod_cband file:
Search
Categories
Related Links
- Apache Web Server
- ASP Immigration Services Ltd.
- CentOS Linux
- Color Scheme Picker
- CSS Button Generator
- Deviant Art Account
- Don Tabaniag - GraphiCult
- Jerson Maglasang Weblog
- Joshua Manlunas
- Mark "mungkey" Vicente
- Matt Arnilo Baluyos
- MySQL
- Paul Labis
- PHP
- PrendStar
- Ridvan Baluyos
- Scott Davies
- SEO Fart XML-RPC Ping Tool
- Stripes Generator
- The Hero
- Ubuntu Linux
- Vim Carlo Nabora (DA)
- Wella Maria Hong
- What is my IP?
- Xavier University - Ateneo de Cagayan
- Zabyer Community