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

Supportende für Windows 10

Supportende für Windows 10 wir zeigen auf, welche Optionen zur Verfügung stehen um Sicherheits- und Compliance-Risiken zu vermeiden.
Weiterlesen
Blogbeitrag

Virtual Workplace Evolution 2025

Wir sind dabei und freuen uns auf den spannenden Austausch zur Transformation von IT Workplaces.
Weiterlesen
Whitepaper

Whitepaper – KI in der Praxis

Lesen Sie, wie innovative Unternehmen KI nutzen, um Routineaufgaben zu automatisieren um neue Maßstäbe in Effizienz und Produktivität zu setzen.
Weiterlesen
Blogbeitrag

KI Ready Nürtingen

Erfahren Sie im Fachvortrag, wie Unternehmen datenschutzkonforme KI-Chatbots – effizient, kostengünstig und EU-konform mit Microsoft Cloud entwickeln.
Weiterlesen
Blogbeitrag

Supportende für Microsoft Office 2016 und 2019

Unternehmen, die aktuell Office 2016 oder Office 2019 einsetzen, sollten sich auf das bevorstehende Supportende vorbereiten und rechtzeitig die nächsten Schritte einleiten.
Weiterlesen
Blogbeitrag

Supportende für Skype for Business 2015 und 2019

Durch das Supportende für Skype for Business 2015 und 2019 sind Unternehmen Sicherheits- und Compliancerisiken ausgesetzt – Handeln Sie Jetzt um Risiken zu vermeiden.
Weiterlesen
Blogbeitrag

NetScaler: Neues Verhalten bei Pooled-Lizenzablauf 

Seit Version 14.1 Build 38.x führt das Ablaufen einer Pooled Lizenz direkt zur Deaktivierung des NetScalers – ohne Grace Period und mit Risiko von Konfigurationsverlust.
Weiterlesen
Whitepaper

Whitepaper – eDialogPRO

Regulatorische Anforderungen von FinVermV und MiFID II effizient umsetzen und gleichzeitig das Kundenerlebnis verbessern – praxisnahe Lösungen und innovative Ansätze
Weiterlesen
Blogbeitrag

Supportende für Microsoft Exchange 2016 & 2019

Durch das Supportende für Exchange Server 2016 und 2019 sind Unternehmen Sicherheits- und Compliancerisiken ausgesetzt. Unser Experte erklärt, was nun zu tun ist.
Weiterlesen
Blogbeitrag

Citrix: Fehler bei LTSR 2402 Cumulative Update 2 (CU2)

Das LTSR 2402 CU2-Update enthält fehlerhafte Signaturen, die zu Funktionsausfällen und Sicherheitswarnungen führen können. Citrix arbeitet an einer Lösung – erfahren Sie mehr über den Workaround und empfohlene Maßnahmen.
Weiterlesen
Jetzt Blogbeitrag teilen
Xing LinkedIn Facebook Twitter