ADC

So begrenzen Sie den Bandbreitenverbrauch pro Benutzer oder Client-Gerät

Ihrer Website, Anwendung oder Dateihosting-Dienst stehen begrenzte Netzwerk- und Serverressourcen zur Verfügung, um alle Benutzer zu bedienen. Eine der wichtigsten Ressourcen ist die Bandbreite. Ein erheblicher Bandbreitenverbrauch nur durch einen Teil der Benutzerbasis kann zu einer Netzwerküberlastung und einer verringerten Ressourcenverfügbarkeit für andere Benutzer führen. Um Netzwerküberlastungen zu vermeiden, müssen Sie möglicherweise den Bandbreitenverbrauch eines Clients einschränken, indem Sie temporäre Diensteverweigerungstechniken verwenden, z. B. indem Sie auf eine Clientanfrage mit einer HTML-Seite antworten, wenn diese in einem festen Zeitraum vor der Anfrage einen vorkonfigurierten Bandbreitenwert überschritten hat.

Im Allgemeinen können Sie den Bandbreitenverbrauch entweder pro Client-Gerät oder pro Benutzer regulieren. Dieser Anwendungsfall zeigt, wie Sie den Bandbreitenverbrauch pro Client über einen Zeitraum von einer Stunde auf 100 MB begrenzen können. Der Anwendungsfall zeigt auch, wie Sie den Bandbreitenverbrauch pro Benutzer auf 100 MB über einen Zeitraum von einer Stunde regulieren können, indem Sie einen benutzerdefinierten Header verwenden, der den Benutzernamen bereitstellt. In beiden Fällen wird die Verfolgung des Bandbreitenverbrauchs über einen gleitenden Zeitraum von einer Stunde erreicht, indem der Intervallparameter in der Stream-ID auf 60 Minuten gesetzt wird. Die Anwendungsfälle zeigen auch, wie Sie eine HTML-Seite importieren können, um sie an einen Client zu senden, der das Limit überschritten hat. Das Importieren einer HTML-Seite vereinfacht nicht nur die Konfiguration der Responder-Aktion in diesen Anwendungsfällen, sondern vereinfacht auch die Konfiguration aller Responder-Aktionen, die dieselbe Antwort benötigen.

So beschränken Sie den Bandbreitenverbrauch pro Benutzer oder Clientgerät mit der Befehlszeilenschnittstelle

Führen Sie in der Befehlszeilenschnittstelle die folgenden Aufgaben aus, um Aktionsanalysen zur Begrenzung des Bandbreitenverbrauchs eines Clients oder Benutzers zu konfigurieren. Jeder Schritt beinhaltet Beispielbefehle und deren Ausgabe.

  1. Richten Sie Ihre Lastausgleichskonfiguration ein. Konfigurieren Sie den virtuellen Lastausgleichsserver mysitevip und konfigurieren Sie dann alle Dienste, die Sie benötigen. Binden Sie die Dienste an den virtuellen Server. Das folgende Beispiel erstellt zehn Dienste und bindet die Dienste an mysitevip.

    > add lb vserver mysitevip HTTP 192.0.2.17 80
     Done
    > add service service[1-10] 192.0.2.[240-249] HTTP 80
    service "service1" added
    service "service2" added
    service "service3" added
    .
    .
    .
    service "service10" added
     Done
    > bind lb vserver vserver1 service[1-10]
    service "service1" bound
    service "service2" bound
    service "service3" bound
    .
    .
    .
    service "service10" bound
     Done
    <!--NeedCopy-->
    
  2. Konfigurieren Sie den Stream-Selektor. Konfigurieren Sie einen der folgenden Stream-Selektoren:

    • Um den Bandbreitenverbrauch pro Client zu begrenzen, konfigurieren Sie einen Stream-Selektor, der die Client-IP-Adresse identifiziert.

       > add stream selector myselector CLIENT.IP.SRC
        Done
       <!--NeedCopy-->
      
    • Um den Bandbreitenverbrauch pro Benutzer auf der Grundlage des Werts eines Anforderungsheaders, der den Benutzernamen bereitstellt, zu begrenzen, konfigurieren Sie einen Stream-Selektor, der den Header identifiziert. Im folgenden Beispiel lautet der Name des Headers UserHeader.

       > add stream selector myselector HTTP.REQ.HEADER(“UserHeader”)
        Done
       <!--NeedCopy-->
      
  3. Konfigurieren Sie einen Stream-Bezeichner. Konfigurieren Sie eine Stream-ID, die den Stream-Selektor verwendet. Stellen Sie den Intervallparameter auf 60 Minuten ein.

    > add stream identifier myidentifier myselector -interval 60 -sampleCount 1 -sort BANDWIDTH
     Done
    <!--NeedCopy-->
    
  4. Konfigurieren Sie die Responderaktion. Importieren Sie die HTML-Seite, die Sie an Benutzer oder Clients senden möchten, die das Limit für den Bandbreitenverbrauch überschritten haben, und verwenden Sie die Seite dann in der Responder-Aktion crossed_limits.

    > import responder htmlpage http://.1.1.1/stdpages/wait.html crossed-limits.html
    This operation may take some time, Please wait...
    
     Done
    > add responder action crossed_limits respondwithhtmlpage crossed-limits.html
     Done
    <!--NeedCopy-->
    
  5. Konfigurieren Sie die Responder-Richtlinien. Konfigurieren Sie die Responderrichtlinie myrespol1 mit der Regel ANALYTICS.STREAM (myidentifier) .COLLECT_STATS und der Aktion NOOP. Konfigurieren Sie dann die Richtlinie myrespol2, um festzustellen, ob ein Client oder Benutzer das 100-MB-Limit überschritten hat. Die Richtlinie myrespol2 ist mit der Responder-Aktion crossed_limits konfiguriert.

    > add responder policy myrespol1 'ANALYTICS.STREAM("myidentifier").COLLECT_STATS' NOOP
     Done
    > add responder policy myrespol2 'ANALYTICS.STREAM("myidentifier").BANDWIDTH.GT(104857600)' crossed_limits
     Done
    <!--NeedCopy-->
    
  6. Binden Sie die Responderrichtlinien an den virtuellen Lastausgleichsserver. Die Richtlinie myrespol1, die nur statistische Daten sammelt, muss die höhere Priorität und den GOTO-Ausdruck NEXT haben.

    > bind lb vserver mysitevip -policyName myrespol1 -priority 1 -gotoPriorityExpression NEXT
     Done
    > bind lb vserver mysitevip -policyName myrespol2 -priority 2 -gotoPriorityExpression END
     Done
    <!--NeedCopy-->
    
  7. Testen Sie die Konfiguration. Testen Sie die Konfiguration, indem Sie HTTP-Testanforderungen von mehreren Clients oder Benutzern an den virtuellen Lastausgleichsserver senden und den Befehl stat stream identifier verwenden, um die Statistiken anzuzeigen, die für den angegebenen Bezeichner gesammelt wurden. Die folgende Ausgabe zeigt Statistiken für Clients an.

    > stat stream identifier myidentifier -sortBy BandW –fullValues
    Stream Session statistics
                              Req           BandW
    192.0.2.30                5000          3761
    192.0.2.31                29            2602
    192.0.2.32                25            51
    
                              RspTime       Conn
    192.0.2.30                2             0
    192.0.2.31                0             0
    192.0.2.32                0             0
     Done
    >
    <!--NeedCopy-->
    
So begrenzen Sie den Bandbreitenverbrauch pro Benutzer oder Client-Gerät

In diesem Artikel