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

Whitepaper

Whitepaper – Prozessautomatisierung mit der Microsoft Power Platform

Produktivität steigern durch Prozessautomatisierung. Microsoft Power Platform Lizenzen sowie Optimierungsmöglichkeiten im Überblick.
Weiterlesen
Blogbeitrag

Optimierte Azure-Kosten mit Azure Pricing Calculator und Cost Management

Der Azure Pricing Calculator gibt einen Überblick über Cloud Kosten. Durch eine Optimierungsstrategien profitieren Unternehmen effektiv.
Weiterlesen
Whitepaper

Whitepaper – Azure Cost Management

In diesem Whitepaper zeigen wir Ihnen, wie Sie mit Azure Cost Management Ihre Cloud-Kosten effektiv steuern und gleichzeitig die Vorteile der Cloud voll ausschöpfen können.
Weiterlesen
Blogbeitrag

Neue Sicherheitslücke bei Microsoft

Eine kürzlich entdeckte Sicherheitslücke in Microsoft ermöglichte es Nutzern ihren User Principal Name (UPN) eigenständig zu ändern. Unser Experte Julian klärt auf!
Weiterlesen
Blogbeitrag

Citrix Lizenzen: User/Device-Modell oder doch Concurrent?

Was bedeuten die Definitionen im Citrix End-User Agreement? Was wird tatsächlich technisch als Lizenz ausgeliefert und was darf ich als Kunde nutzen?
Weiterlesen
Blogbeitrag

Intune Enterprise App erlaubt Compliant Device Bypass

In diesem Blogbeitrag erläutert unser Experte das Fehlerbild, zeigt auf, wie die Schwachstelle nachgestellt werden kann und gibt Empfehlungen zur Absicherung Ihrer Systeme.
Weiterlesen
Blogbeitrag

Citrix kauft DeviceTRUST und Strong Network: Was bedeutet das für Kunden?

Citrix kauft DeviceTRUST und Strong Network, um die Sicherheit seiner digitalen Workspace-Lösungen zu stärken
Weiterlesen
Blogbeitrag

Für den Weihnachtsmann führt der Weg in die Cloud – und der geht über Azure!

Wie der Weihnachtsmann mit der Magie von Azure Weihnachten modernisierte.
Weiterlesen
Webinar

Webinar: Azure-Cost-Optimization-in-7-Schritten

Dieses kostenlose Webinar zeigt Ihnen, wie Sie in 7 praxisbewährten Schritten zur effektiven Azure-Kostenoptimierung gelangen und Ihre Azure-Resourcen optimal nutzen.
Weiterlesen
Whitepaper

Microsoft AVD und Windows 365 Cloud PC

Unser Whitepaper richtet sich an IT-Leiter, die Strategien zwischen On-Premises- und Cloud-Lösungen prüfen und zukunftsfähige Alternativen für ihr Unternehmen finden möchten.
Weiterlesen
Jetzt Blogbeitrag teilen
Xing LinkedIn Facebook Twitter