So begrenzen Sie die Verbindungsgeschwindigkeit

So begrenzen Sie die Verbindungsgeschwindigkeit

Ich verwende CentOS 6.4 und Plesk v11.5.30, obwohl dies nicht unbedingt über Plesk erfolgen muss.

Ich möchte die Verbindungsgeschwindigkeit zu einer bestimmten Website begrenzen. Plesk bietet mir jedoch nur die Optionen „Maximale Bandbreitennutzung“ und „Verbindungen begrenzen“.

Die maximale Bandbreitennutzung ist die Gesamtbandbreite, die von einer Domäne genutzt wird, während Verbindungen die Anzahl der Verbindungen (offensichtlich) ist. Ich möchte die Geschwindigkeit auf 200 kb/s begrenzen, unabhängig davon, wie viele Personen auf die Domäne zugreifen. Selbst wenn nur eine Person darauf zugreift, möchte ich nicht, dass sie die gesamte Bandbreite nutzen kann, sondern dass sie auf 200 kb/s begrenzt ist.

Gibt es für mich eine Möglichkeit, alle Einzelverbindungen auf nur 200 kb/s zu begrenzen, sodass niemand jemals mehr als 200 kb/s verwenden kann, bei hohem Datenverkehr aber natürlich weniger als 200 kb/s verwendet werden kann?

Um zu vermeiden, dass dies Plesk-spezifisch ist, steht Folgendes in meiner Konfiguration und ich ändere es gerne manuell, wenn es einen anderen Parameter gibt, den ich verwenden kann:

<IfModule mod_bw.c>
    BandwidthModule On
    ForceBandWidthModule On
    Bandwidth all "0"
    MaxConnection all "0"
    BandWidthError 510
</IfModule>

Antwort1

Ich habe dieses Modul noch nie benutzt, aberdie Dokumentationscheint ziemlich unkompliziert zu sein.

Die Anweisungen sind innerhalb eines <VirtualHost>Blocks gültig und gelten nur dann für diesen virtuellen Host. Es sieht auch so aus, als würden sie nicht von höheren Teilen der Konfiguration übernommen, daher sollten Sie jede relevante Anweisung in den virtuellen Host einfügen.

Ihre aktuelle Konfiguration setzt das Bandbreitenlimit auf „0“, was bedeutet, dass es kein Limit gibt. Sie möchten 200 KB (ich nehme an, Sie meinten Kilobyte und nicht Kilobit).

Fügen Sie dies in den virtuellen Host ein, den Sie einschränken möchten:

BandwidthModule On
ForceBandWidthModule On
Bandwidth all 204800

Der Standardwert MinBandwidthbeträgt 256 Bytes/s, sodass Sie 800 gleichzeitige Benutzer verarbeiten können, bevor einer von ihnen Fehlermeldungen erhält. Wenn Sie denken, dass 256 Bytes/s etwas wenig sind, können Sie auch hinzufügen, MinBandwidth all 1024was bedeutet, dass bei mehr als 200 gleichzeitigen Anfragen der 201. eine Fehlermeldung erhält, anstatt die angeforderte Seite anzuzeigen, und dass für alle 200 davor mindestens 1 KB/s garantiert ist.

Normalerweise mache ich mir nicht die Mühe mit diesen <IfModule>Blöcken, weil sie nur Ihre Fehler verbergen und Sie glauben lassen, dass mod_bw funktioniert, obwohl es noch nicht einmal geladen wurde.

Antwort2

Ich habe dies mithilfe von LargeFileLimit herausgefunden:

<IfModule mod_bw.c>
BandwidthModule On
ForceBandWidthModule On
Bandwidth all "52428800"
MaxConnection all "400"
LargeFileLimit * 1024 204800
BandWidthError 510
</IfModule>

Dies bedeutet, dass die Bandbreite der Domäne auf 50 MB (52428800) beschränkt ist, dass nur 400 Verbindungen gleichzeitig möglich sind und dass alle Dateien über 1 MB auf 200 kb/s (204800) beschränkt sind.

Für alle, die dies später lesen: Sie können anstelle von * auch eine Erweiterung verwenden, um nur Zip-, RAR-, AVI- oder was auch immer-Dateien zu beschränken.

verwandte Informationen