Oktober 2017
Autor:in des Beitrags
Maximilian
Team Lead Business Apps and KI
Veröffentlicht am
18.10.2017 von Maximilian
Jetzt Blogbeitrag teilen
Xing LinkedIn Facebook Twitter
am NetScaler realisieren

Rate Limiting und Connection Limits

Wie man Rate Limiting und Connection Limits für bestimmte URLs am NetScaler realisiert, dazu hat sich unser Kollege Maximilian Leimgruber ein paar Gedanken gemacht und zwei Lösungsvorschläge erarbeitet. Nehmen wir einfach mal die zwei unbegrenzten URLs /service/test1 und /service/test2/ als Beispiel. Die Antwortzeiten bei URL /service/test1/ steigen an und wir wollen die Anzahl der Request begrenzen und der Rest soll gedropped werden. /service/test2/ hingegen soll unangetastet bleiben.

Lösungsvorschlag 1:

Nur mit Responder Policy: “Wenn die Zeit zum ersten Byte größer als x Millisekunden  und zugleich die Anzahl der Connections größer als x ist und gegebenenfalls der Aufruf dem Pfad x entspricht, dann soll gedropped werden. Deren Action kann auf DROP oder RESET gesetzt werden.

Zur Erklärung:
– GT: Größer als
– RESPTIME. Liefert die Antwortzeit als Integer in Millisekunden. Dabei handelt es sich um die durchschnittliche Zeit bis zum ersten Byte (TTFB – Time to first byte) von allen Services die an diesen virtuellen Server gebunden sind.
Usage: SYS.VSERVER(“vserver”).RESPTIME
– CONNECTIONS. Liefert die Anzahl der Verbindungen zu diesem virtuellen Server.
Usage: SYS.VSERVER(“vserver”).CONNECTIONS

Lösungsvorschlag 2:

Rate Limiting und Responder Policy: “Wenn die Zeit zum ersten Byte größer als x Millisekunden und zugleich die Anzahl der Requests pro Zeit x auf einen exakten Pfad (oder eine URL) größer als x ist, dann soll gedropped werden.
1.) Rate Limiting Selector: “Ein traffic stream selector ist ein Filter zur identifizierung einer Entität für die ein gedrosselter Zugriff gewünscht wird.”

2.) Rate Limiting Identifier: “In der Rate Limiting Identifier Policy wird definiert, wann der Grenzwert der Requests pro Zeit überschritten ist. Das gilt pro Selector, in diesem Fall also pro Pfad. Im Folgenden seht Ihr wie wir die Request Rate auf 100 pro Time Slice, also 1 pro Sekunde setzen.

3.) Responder Policy: “Diese Responder Policy muss natürlich wieder an einen LB vServer gebunden werden.”

CLI:
> sh run | grep lim
add stream selector ratelim_sel_url-path HTTP.REQ.URL.PATH_AND_QUERY
add stream selector ratelim_sel_url HTTP.REQ.URL
add ns limitIdentifier ratelim_iden_requestspermsec -threshold 100 -mode REQUEST_RATE -limitType SMOOTH -selectorName ratelim_sel_url-path
add responder policy res_pol_limit-connections "SYS.VSERVER(\"lb_vs_owa.contoso.de\").RESPTIME.GT(1000) && SYS.VSERVER(\"lb_vs_owa.contoso.de\").CONNECTIONS.GT(1000) && HTTP.REQ.URL.PATH_AND_QUERY.STARTSWITH(\"/service/test1\")" DROP
add responder policy res_pol_limit-requests "\n\nSYS.VSERVER(\"lb_vs_owa.contoso.de\").RESPTIME.GT(1000) && sys.check_limit(\"ratelim_iden_requestspermsec\") && HTTP.REQ.URL.PATH_AND_QUERY.STARTSWITH(\"/service/test1\")" DROP
bind lb vserver lb_vs_owa.contoso.de -policyName res_pol_limit-requests -priority 100 -gotoPriorityExpression END -type REQUEST
bind lb vserver lb_vs_owa.contoso.de -policyName _pol_limit-connections -priority 110 -gotoPriorityExpression END -type REQUEST

Das könnte dich auch interessieren

Blogbeitrag

Citrix Long-Term Service Release 2402, jetzt mit CU1 Bug-Fix

In diesem Blog erfahren Sie, welche Mehrwerte das Citrix LTSR 2402 mitbringt und welcher Bug mit CU1 gefixt wurde.
Weiterlesen
Blogbeitrag

Änderungen bei der Lizenzüberwachung und Telemetrie von NetScaler und NetScaler-Console

Im letzten Jahr hat die Cloud Software Group im Bereich von Citrix die Erfassung von Telemetriedaten eingeführt. Ähnliches folgt nun auch im Bereich der NetScaler. Wär erklären, was jetzt zu tun ist!
Weiterlesen
Webinar

Webinar: Muss es denn immer gleich KI sein?

Kostenloses Webinar für IT-Entscheider*innen: Steigerung der Effizienz, Produktivität und Mitarbeiterzufriedenheit, im Spannungsfeld zwischen New Work, KI und Prozessautomatisierung.
Weiterlesen
Blogbeitrag

Wie Sie mit einem geregelten Prozess für Evergreening die Vorteile von Microsoft 365 optimal nutzen können

Wir zeigen, wie Sie mit Evergrenning Änderungen in Microsoft 365 optimal für Ihr Unternehmen nutzen können.
Weiterlesen
Blogbeitrag

Datenexfiltration in M365 mit Entra ID Conditional Access blockieren

In diesem Artikel taucht unser Experte in die Funktionen aus Conditional Access ein: “app enforced restrictions” und „Conditional Access App Control“ (CAAC).
Weiterlesen
Blogbeitrag

M365 Compliance Whitepaper

In unserem Whitepaper nehmen wir die Bereiche Datenschutz und Compliance unter die Lupe und geben Ihnen wertvolle Handlungsempfehlungen.
Weiterlesen
Blogbeitrag

Microsoft Power Platform – ja oder nein?

Erfahren Sie, wie Sie die Vorteile und Risiken der Microsoft Power Platform abwägen und die beste Lösung für Ihre Anforderungen finden.
Weiterlesen
Whitepaper

M365 Compliance Quick-Assessment

Mit unserem Quick Assessment können Sie einige der typischen Fallstricke zu beleuchten im Themenkomplex „Compliance und Datenschutz und M365″.
Weiterlesen
Blogbeitrag

NetScaler WAF für Citrix Gateway und IP Reputation

Wir zeigen Ihnen zwei Features, die für viele NetScaler Deployments einen Mehrwert hinsichtlich Security bieten.
Weiterlesen
Webinar

Webinar: Neue Lizenzmodelle bei Citrix

Im Webinar informieren Sie unsere Experten über die aktuellen Lizenzänderungen bei Citrix und NetScaler.
Weiterlesen
Jetzt Blogbeitrag teilen
Xing LinkedIn Facebook Twitter