Ubuntu Apache speed limit

April 20, 2007 – 1:58 pm

Da bi rijesio problem sa pucanjem ADSL-a kada se nesto skida sa kucnog web servera maksimalnom brzinom koju pruza nasih vrtoglavih 256kbit uploada ( barem nije 192 vise ;) ) bacio sam se u potragu za necim sto bi limitiralo Apache2.

Srecom, vec je netko napravio modul koji to radi (libapache2-mod-cband ) pa cu ukratko opisati instalaciju.

Prvo treba instalirati apache2-prefork-dev i libapache2-mod-cband sa

sudo apt-get install apache2-prefork-dev libapache2-mod-cband

Potom cemo provjeriti sa

sudo vi /etc/apache2/httpd.conf

da li se nalazi ova linija u httpd.conf (ako je nema onda ju rucno dodajte)

LoadModule cband_module /usr/lib/apache2/modules/mod_cband.so

Nakon toga zavrsimo instalaciju mod-cband sasudo /etc/init.d/apache2 restart

Poslije toga dodamo ove linije u /etc/apache2/apache2.conf

CBandScoreFlushPeriod 1

CBandRandomPulse On

Da bi omogucili i scoreboard napravit cemo direktorij “scoreboard” i postaviti permissione

sudo mkdir /var/www/scoreboard
sudo chown www-data:www-data /var/www/scoreboard/

Posto je ovo konfiguracija samo za jedan web (nema virtualnih hostova) editirat cemo sljedeci file da bi podesili cband

sudo vi /etc/apache2/sites-enabled/000-default

U njega cemo dodati ServerName ako ga nema vec, te CBandSpeed i CBandRemoteSpeed
Ako ServerName nije definiran onda ce se pojaviti greska poput ove

“Starting httpd: [Mon May 29 18:05:33 2006] [warn] Invalid command ‘CBandSpeed’, undefined virtualhost name”

Slijedi primjer kako bi trebao izgledati osnovni dio konfiguracije

ServerAdmin webmaster@localhost
ServerName www.example.com
DocumentRoot /var/www
CBandSpeed 20kb/s 10 20
CBandRemoteSpeed 10kb/s 3 3

CBandSpeed se odnosi na brzinu hosta, onda slijedi najveca brzina downloada, broj request-a po sekundi te broj otvorenih konekcija.
Isto vrijedi i za CBandRemoteSpeed samo sto se on odnosi na pojedinog korisnika.

Ako ispod toga dodamo ove linije

<Location /cband-status>
SetHandler cband-status
</Location>
<Location /cband-status-me>
SetHandler cband-status-me
</Location>
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>

Onda cemo na adresi http://www.ime-weba.com/cband-status imati pregled cband statusa

Nakon svega toga naravno slijedi

sudo /etc/init.d/apache2 restart

Ovaj howto je napisan uz pomoc http://www.howtoforge.com/mod_cband_apache2_bandwidth_quota_throttling
Tamo se nalaze dodatni primjeri i kako to postaviti sa virtualnim hostovima. Ovo je primjer za kucni web server sa vrlo sporim uploadom :)




				
				

			

Post a Comment