PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hartes Bandwidth-Limit für Apache



Webfan
12.01.04, 00:51
Hallo,

ich habe eine Seite die recht viel Traffic pro Tag verballert. Da ich ungern 1&1 Übertraffic für meinen Rootserver zahlen möchte und mod_gzip etc. schon alles läuft, möchte ich gerne ein Speedlimit setzen.

Also, gesagt getan - mod_bandwidth auf 10 KB/Sek begrenzt - dürften dann ja max. 850 MB pro Tag sein. Problem ist einfach, dass mod_bandwidth scheinbar nur wirklich bei Downloads effektiv arbeitet. bei 10 KB PHP-Seiten eher weniger.

Irgendeiner eine Idee?

Danke.

Berufspenner
12.01.04, 17:42
Hi

Ist es möglich, dass du da ein wenig durcheinander gekommen bist? Mit der Bandbreitenbegrenzung kannst du nicht die Datenmenge reduzieren, sondern nur regeln, mit welcher Geschwindigkeit Daten abgefragt werden können.

Cu
André

Webfan
12.01.04, 17:47
wenn ich aber die max. bandbreite pro sekunde begrenze, ist das auch direkt ein limit für den traffic, der maximal erzeugt werden kann ;-)

Berufspenner
12.01.04, 17:51
Hi

Mag sein, die angeforderten Daten werden aber trotzdem übertrage; auch wenn es ein wenig länger dauert ;) Damit zögerst du die Trafficüberschreitung zwar heraus aber stoppst sie nicht.

Cu
André

Webfan
12.01.04, 17:53
schön das wir drüber gesprochen haben ;-)

aber ne lösung ist das net ;-)

Doh!
13.01.04, 14:55
Original geschrieben von Webfan
Hallo,

ich habe eine Seite die recht viel Traffic pro Tag verballert. Da ich ungern 1&1 Übertraffic für meinen Rootserver zahlen möchte und mod_gzip etc. schon alles läuft, möchte ich gerne ein Speedlimit setzen.

Also, gesagt getan - mod_bandwidth auf 10 KB/Sek begrenzt - dürften dann ja max. 850 MB pro Tag sein. Problem ist einfach, dass mod_bandwidth scheinbar nur wirklich bei Downloads effektiv arbeitet. bei 10 KB PHP-Seiten eher weniger.

Irgendeiner eine Idee?

Danke.

Was heißt eher weniger? Logs? Wie ist die Konfig

Webfan
13.01.04, 15:41
LoadModule bandwidth_module /usr/lib/apache/1.3/mod_bandwidth.so

<VirtualHost *>
...

<Location />
BandWidthModule on
BandWidth all 10240
BandWidthPulse 1000000
</Location>


</VirtualHost>


im apache log gibts keine fehlermeldung und er schreibt auch fein in sein tmp master/link verzeichnis.

download sind begrenzt.

Doh!
13.01.04, 15:58
Was genau verstehst Du unter "Problem ist einfach, dass mod_bandwidth scheinbar nur wirklich bei Downloads effektiv arbeitet. bei 10 KB PHP-Seiten eher weniger"?

Webfan
13.01.04, 19:16
darunter verstehe ich, dass php-seiten mit einer größe von 10 kb zum beispiel mit voller geschwindigkeit ausgeliefert werden.

mod_bw scheint mir erst nach kurzer zeit zu greifen - und eine seitenauslieferung geht ja ruckzuck ...

Webfan
13.01.04, 23:09
habe was gefunden, was ich morgen mal genauer testen werde:
http://www.stewart.com.au/ip_relay/

das ding macht quasi nen port forward und begrenzt dabei die bandbreite.

mein vorhaben nun:
mein apache läuft weiterhin auf port 80 - der virtualhost schickt die anfrage weiter durch den port forward z. b. auf port 1080 - ip_relay begrenzt die bandbreite und schickt es sagen wir auf port 1081 wo mein apache wieder mit dem normalen web horcht.

kann man das dem apache so irgendwie beibiegen? erst dachte ich an mod_proxy, aber letztendlich ist ip_relay ja kein wirklicher proxy ...

Doh!
14.01.04, 01:01
Original geschrieben von Webfan
darunter verstehe ich, dass php-seiten mit einer größe von 10 kb zum beispiel mit voller geschwindigkeit ausgeliefert werden.

mod_bw scheint mir erst nach kurzer zeit zu greifen - und eine seitenauslieferung geht ja ruckzuck ...

Mess doch mal was passiert, wenn Du mehrere 10KB-Dateien hintereinander sendest. So wie ich die Doku verstanden habe, ist es bei Deiner Einstellung so: es werden bis zu 10KByte gesendet. Sind die voll, dann wird eine Sekunde gewartet, dann kommen die nächsten dran. Wenn Du eine 10kb Datei abrufst, wird die natürlich sofort mit Deiner vollen Bandbreite ausgeliefert. Würdest Du im Anschluss daran direkt weitere senden, so würden diese dann gebremst werden.

Webfan
17.01.04, 18:53
würde das mit ip_relay über mod_proxy gehen? auch wenn ip_relay eigentlich kein proxy ist?

Webfan
18.01.04, 18:21
so, es funktioniert nun mit hilfe von ip_relay

webserver (port80) -> mod_rewrite (proxy) -> ip_relay (bwlimit) -> webserver (port8080)

ok, nicht schön aber effektiv

habe mit hilfe von mod_rewrite und der option [P] (proxy) die weiterleitung realisiert. da mod_rewrite bei der proxy-function auf mod_proxy zurückgreift, musste ich diesen auch noch über LoadModule laden.

meine frage wäre nur: ich habe durch das laden des moduls jetzt nicht einen offenen proxy-server aus meinem apache gemacht?

DaGrrr
18.01.04, 18:30
Hallo,

im 1&1 Konfigurationszentrum kannst du ein Trafficlimit einstellen.

Grüße
DaGrrr

Webfan
18.01.04, 18:42
Original geschrieben von DaGrrr
Hallo,

im 1&1 Konfigurationszentrum kannst du ein Trafficlimit einstellen.

Grüße
DaGrrr

ok, das hat jetzt weder mit meiner eigentlichen frage noch mit meiner eben gestellten frage zutun ;-)

DaGrrr
18.01.04, 18:46
Ups, habe "Speedlimit" nicht gelesen :D

Dennoch...
mit einem Trafficlimit zahlst du aber dann nicht mehr als du an Traffic frei hast oder zusätzlich eingestellt hast

Grüße
DaGrrr

Webfan
18.01.04, 18:50
Original geschrieben von DaGrrr
Ups, habe "Speedlimit" nicht gelesen :D

Dennoch...
mit einem Trafficlimit zahlst du aber dann nicht mehr als du an Traffic frei hast oder zusätzlich eingestellt hast

Grüße
DaGrrr

ich will aber net, dass die mir den server ausknipsen sondern genau das verhindern ;-)