Skip to main content

Configuring rate limits (Konfigurieren von Ratenbegrenzungen)

Wer kann dieses Feature verwenden?

Site administrators can configure rate limits for a Enterprise Server instance.

Um eine übermäßige Nutzung von Ihre Enterprise Server-Instance-Ressourcen zu verhindern, die sich auf die Verfügbarkeit oder Leistung der Instanz für alle Benutzer*innen auswirken könnte, kannst du Ratenlimits konfigurieren. Ratenlimits sind für die Enterprise Server APIs und Actions konfigurierbar.

Implementiere Ratenlimits sorgfältig, und kommuniziere beim Optimieren der Limits regelmäßig mit Benutzerinnen. Um die Arbeit von Benutzerinnen nicht zu unterbrechen, empfiehlt , mit großzügigen Ratenlimits zu beginnen und diese schrittweise an deine Umgebung anzupassen.

Du kannst auch Ratenlimits für Authentifizierungsversuche bei der Verwaltungskonsole konfigurieren. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf die Verwaltungskonsole.

Eine übermäßige Anzahl von Anforderungen an die Enterprise Server APIs kann sich auf die Verfügbarkeit und Leistung deiner Instanz auswirken. Weitere Informationen zu den Auswirkungen von Ratenbeschränkungen für die API auf deine Benutzer findest du unter Ratenbegrenzungen für die REST-API.

Mithilfe des ghe-config-Hilfsprogramms in der Verwaltungsshell kannst du eine Liste von Benutzenden erstellen, die von API-Ratenbegrenzungen ausgeschlossen werden sollen. Weitere Informationen finden Sie unter Befehlszeilenprogramme.

Hinweis

In der Verwaltungskonsole wird der Zeitraum (pro Minute oder pro Stunde) für jede Ratenbegrenzung aufgelistet.

  1. Klicke in einem Verwaltungskonto für Enterprise Server in der rechten oberen Ecke einer beliebigen Seite auf .

  2. Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.

  3. Wähle auf der Randleiste „ Websiteadministrator“ die Option Verwaltungskonsole aus.

  4. Wähle unter „Ratenbegrenzung“ die Option HTTP-API-Ratenbegrenzung aktivieren aus.

  5. Gib die Begrenzungen für authentifizierte und nicht authentifizierte Anforderungen für jede API ein, oder akzeptiere die vorab ausgefüllten Standardbegrenzungen.

  6. Klicke auf der Randleiste unter „Einstellungen“ auf Einstellungen speichern.

    Hinweis

    Durch das Speichern von Einstellungen in der Verwaltungskonsole werden Systemdienste neu gestartet, was zu einer für den Benutzer feststellbaren Downtime führen könnte.

  7. Warten Sie auf den Abschluss der Konfigurationsausführung.

Durch das Festlegen von sekundären Ratenbegrenzungen wird das allgemeine Dienstniveau von Ihre Enterprise Server-Instance geschützt.

  1. Klicke in einem Verwaltungskonto für Enterprise Server in der rechten oberen Ecke einer beliebigen Seite auf .

  2. Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.

  3. Wähle auf der Randleiste „ Websiteadministrator“ die Option Verwaltungskonsole aus.

  4. Wähle unter „Ratenbegrenzung“ die Option Sekundäre Ratenbegrenzung aktivieren aus.

  5. Gib die Begrenzungen für „Total Requests“ (Gesamtanforderungen), „CPU Limit“ (CPU-Begrenzung) und „CPU Limit for Searching“ (CPU-Begrenzung für Suchvorgänge) ein, oder akzeptiere die vorab ausgefüllten Standardbegrenzungen.

  6. Klicke auf der Randleiste unter „Einstellungen“ auf Einstellungen speichern.

    Hinweis

    Durch das Speichern von Einstellungen in der Verwaltungskonsole werden Systemdienste neu gestartet, was zu einer für den Benutzer feststellbaren Downtime führen könnte.

  7. Warten Sie auf den Abschluss der Konfigurationsausführung.

Wenn ein Mitarbeiter von dies empfohlen hat, kannst du Git-Ratenbegrenzungen pro Repositorynetzwerk oder pro Benutzer-ID anwenden. Git-Begrenzungen werden in gleichzeitigen Vorgängen pro Minute ausgedrückt und sind basierend auf der aktuellen CPU-Auslastung adaptiv.

Warnung

Deaktiviere diese Einstellung, es sei denn, das Verwenden wird von einem -Mitarbeiter empfohlen. Git-Operationen sind selten die Hauptursache für eine CPU- und RAM-Auslastung. Die Aktivierung dieser Funktion kann die Wahrscheinlichkeit erhöhen, dass Git-Vorgänge unter hoher Last fehlschlagen, aber sie ändert nichts an der Ursache für diese Bedingungen.

  1. Klicke in einem Verwaltungskonto für Enterprise Server in der rechten oberen Ecke einer beliebigen Seite auf .

  2. Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.

  3. Wähle auf der Randleiste „ Websiteadministrator“ die Option Verwaltungskonsole aus.

  4. Wähle unter „Ratenbegrenzung“ die Option Git-Begrenzung aktivieren aus.

  5. Gib unter „Grenzwert für Repositorynetzwerk“ einen Grenzwert für jedes Repositorynetzwerk ein.

  6. Gib unter „Grenzwert für Benutzer-ID“ einen Grenzwert für jede Benutzer-ID ein.

  7. Klicke auf der Randleiste unter „Einstellungen“ auf Einstellungen speichern.

    Hinweis

    Durch das Speichern von Einstellungen in der Verwaltungskonsole werden Systemdienste neu gestartet, was zu einer für den Benutzer feststellbaren Downtime führen könnte.

  8. Warten Sie auf den Abschluss der Konfigurationsausführung.

Du kannst eine Ratenbegrenzung auf Actions-Workflowausführungen anwenden. Weitere Informationen zu Actions findest du unter Informationen zu Actions für Unternehmen.

Deine Enterprise Server-Instanz weist jeden Actions-Workflowauftrag einem Runner zu. Wenn die Instanz einen Auftrag nicht sofort einem verfügbaren Runner zuweisen kann, wartet der Auftrag in einer Warteschlange, bis ein Runner verfügbar ist. Wenn Actions dauerhaft stark ausgelastet ist, kann es zu einem Rückstau in der Warteschlange kommen, und die Leistung von Ihre Enterprise Server-Instance wird möglicherweise beeinträchtigt.

Um diese Leistungsbeeinträchtigung zu vermeiden, kannst du eine Ratenbegrenzung für Actions konfigurieren. Diese Ratenbegrenzung wird in Auftragsausführungen pro Minute ausgedrückt. Die Ratenbegrenzung wird von Enterprise Server für die Summe aller Auftragsausführungen in der Instanz berechnet und angewendet. Wenn die Ratenbegrenzung von Ausführungen überschritten wird, schlagen weitere Ausführungen fehl, statt in die Warteschlange eingereiht zu werden. Der folgende Fehler wird in den Anmerkungen der Ausführung angezeigt.

Die Ratenbegrenzung für Workflowausführungsanforderungen wurde überschritten. Bitte warte, bevor du die Ausführung erneut versuchst.

Eine geeignete Ratenbegrenzung schützt Ihre Enterprise Server-Instance vor einer übermäßigen Nutzung von Actions, ohne den laufenden Betrieb zu beeinträchtigen. Der genaue Schwellenwert hängt von den verfügbaren Ressourcen deiner Instanz und dem allgemeinen Auslastungsprofil ab. Weitere Informationen zu den Hardwareanforderungen für Actions findest du unter Erste Schritte mit Actions für Enterprise Server.

Die Ratenbegrenzung für Actions ist standardmäßig deaktiviert. Da Enterprise Server temporäre Auslastungsspitzen ohne Leistungsbeeinträchtigung verarbeiten kann, soll diese Ratenbegrenzung Schutz vor dauerhafter hoher Last bieten. Es wird empfohlen, die Ratenbegrenzung deaktiviert zu lassen, es sei denn, es treten Leistungsprobleme auf. In einigen Fällen empfiehlt der -Support, eine Ratenbegrenzung für Actions zu aktivieren.

  1. Melde dich über SSH bei Ihre Enterprise Server-Instance an. Wenn deine Instanz mehrere Knoten umfasst, wenn z. B. Hochverfügbarkeit oder Georeplikation konfiguriert ist, wird SSH im primären Knoten konfiguriert. Wenn du einen Cluster verwendest, kannst du SSH in einen beliebigen Knoten einfügen. Ersetzen Sie HOSTNAME durch den Hostnamen Ihrer Instanz bzw. durch den Hostnamen oder die IP-Adresse eines Knotens. Weitere Informationen finden Sie unter Auf die Verwaltungsshell (SSH) zugreifen.

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Zum Aktivieren und Konfigurieren der Ratenbegrenzung führe die folgenden beiden Befehle aus, wobei du RUNS-PER-MINUTE durch den Wert deiner Wahl ersetzt.

    ghe-config actions-rate-limiting.enabled true
    ghe-config actions-rate-limiting.queue-runs-per-minute RUNS-PER-MINUTE
    
  3. Führe den folgenden Befehl aus, um die Ratenbegrenzung nach der Aktivierung zu deaktivieren.

    ghe-config actions-rate-limiting.enabled false
    
  4. Führe den folgenden Befehl aus, um die Konfiguration anzuwenden.

    ghe-config-apply
    
  5. Warte auf den Abschluss der Konfigurationsausführung.

Wenn die Anzahl der AJAX-Anforderungen an deine Enterprise Server-Instanz Probleme verursacht, musst du möglicherweise das Ratenlimit für den WebSockets-Controller bearbeiten, der von diesen Liveupdates verwendet wird. Ausführliche Informationen zum Anzeigen von Alive-Anforderungen findest du unter Überwachungs-dasards.

Standardmäßig sind für jede IP-Adresse maximal 100 Anforderungen pro Minute zulässig. Admins mit Zugriff auf die Verwaltungsshell können das Hilfsprogramm ghe-config verwenden, um app..web-sockets-rate-limit innerhalb der Anzahl der Anforderungen festzulegen, die pro Minute für jede IP-Adresse zulässig sind, oder diesen Ratengrenzwert deaktivieren. Durch Festlegen des Grenzwerts auf einen Wert, der keine positive ganze Zahl ist (z. B. 0, -1, disabled), wird die Ratenbegrenzung für den WebSockets-Controller für Liveupdates deaktiviert.

Die Konfigurationseinstellung app..web-sockets-rate-limit wurde eingeführt in 3.17.1.

Wichtig

Dieser Ratengrenzwert gilt erst, wenn du auch den globalen Ratenbegrenzer mithilfe von ghe-config app..rate-limiting-enabled 1 aktivierst. Wenn du den globalen Ratenbegrenzer aktivierst, können auch für andere -Features Grenzwerte für die Rate gelten. Überwache deine Instanz genau, um nach unerwarteten Anforderungsverweigerungen zu suchen.

Nachdem du Änderungen an den Werten dieser Einstellungen vorgenommen hast, führe ghe-config-apply aus, um die Einstellungen anzuwenden.