Web-Server

ID #1273 Apache: Trafficbegrenzung

Problem:

wenn man viele Download-Dateien auf dem Server hat, oder Projekte, die manchmal über sich hinaus gehen, möchte man als Admin mal den Traffic begrenzen.

Dies kann unterschiedlich erreicht werden. Manchmal reicht es schon aus, wenn man gewissen Web-Spider/Crawler mithilfe der <code>robots.txtcode> aussperrt.

Lösung:

Wir installieren <code>mod_cbandcode>:

Alle nötigen Pakete installieren:

# Debian:
apt-get install apache2-prefork-dev
# SuSE:
yast -i apache2-devel
# Fedora:
yum install httpd-devel

Download und kompilieren:

cd /usr/local/src
wget http://cband.linux.pl/download/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 install

Nachbereitung:

Leider versucht <code>make installcode> das Modul direkt in die <code>/etc/apache2/httpd.confcode> einzubinden. Dies ist evtl. (vor allem unter Debian) nicht erwünscht. Oder unter Fedora ist der Pfad z.B. fehlerhaft und muß <code>/etc/httpd/conf/http.confcode> lauten.
Sicherheitshalber sollte man dies also überprüfen und ggf. die Zeile selber an der richtigen Stelle einfügen:

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

(Achtung: auch hier kann der Pfad zu <code>mod_cband.socode> evtl. anders sein.)

Das Modul braucht ein (für Apache) beschreibbares Verzeichnis:
(Achtung: Der Apache-User <code>www-datacode> heißt unter SuSE und Fedora anders)

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

Konfiguration:

Als erstes brauchen wir die globale Konfiguration für <code>mod_cbandcode> in <code>/etc/apache2/httpd.confcode>:

CBandScoreFlushPeriod 1
CBandRandomPulse On

Nun kann pro <code>VirtualHostcode> der Speed beliebig gesetzt werden.
Wichtig: die CBand-Direktiven müssen immer nach dem <code>ServerNamecode> stehen. Diese Angabe ist für <code>mod_cbandcode> essentiell.
Beispiel:

<VirtualHost 1.2.3.4>
  ServerName www.domain.tld
  CBandSpeed 1024 10 30
  CBandRemoteSpeed 20kb/s 3 3

  CBandLimit 100M
  CBandPeriod 4W
  CBandScoreboard /var/www/scoreboard
</VirtualHost>

<code>CBandSpeedcode> setzt hier das Limit des Traffics auf 1024 Kbits pro Sekunde mit maximal 10 Request pro Sekunde und 30 offenen Connections.
<code>CBandRemoteSpeedcode> setzt ein Limit pro Request/Client. Die Parameter sind die selben wie bei <code>CBandSpeedcode> nur in anderer Schreibweise.

Mit <code>CBandLimitcode>, <code>CBandPeriodcode> und <code>CBandScoreboardcode> wird ein monatliches (4-Wochen-Intervall) Download-Volumen von 100 MByte fest gelegt.

Weitere Möglichkeiten von <code>mod_cbandcode> finden sich in der Dokumentation.

Weiter Links:

 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

huschi, zuletzt 2007-11-15 12:22     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   5 von 5 (3 Bewertungen)

Artikel kommentieren

Kommentar von Cool (2008-05-04 18:41:22):
/var/www/scoreboard soll ein file sein, kein directory!