Informationen zum Ratengrenzwert für GitHub Enterprise Server
Anfragelimits helfen, eine übermäßige Ressourcennutzung auf Ihre GitHub Enterprise Server-Instance zu verhindern, die die Verfügbarkeit oder Leistung für alle Nutzer beeinträchtigen könnte. Sie können Geschwindigkeitsbeschränkungen für die GitHub Enterprise Server APIs und GitHub Actions konfigurieren.
Implementieren Sie Häufigkeitsbeschränkungen sorgfältig und kommunizieren Sie mit Ihren Benutzern, während Sie sie optimieren. Beginnen Sie mit zulässigen Ratenlimits, und passen Sie sie schrittweise an Ihre Umgebung an.
Du kannst auch Ratenlimits für Authentifizierungsversuche bei der Verwaltungskonsole konfigurieren. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf die Verwaltungskonsole.
Ratenbeschränkungen für die GitHub Enterprise Server APIs aktivieren
Zu viele Anforderungen an die GitHub Enterprise Server APIs können Ihre Instanz verlangsamen oder nicht verfügbar machen. Weitere Informationen dazu, wie SICH API-Ratengrenzwerte auf Ihre Benutzer auswirken, finden Sie unter Ratenbegrenzungen für die REST-API.
Sie können bestimmte Benutzer von API-Ratenbeschränkungen ausnehmen, indem Sie das ghe-config Hilfsprogramm in der Verwaltungsshell verwenden. Weitere Informationen finden Sie unter Befehlszeilenwerkzeuge.
Hinweis
In der Verwaltungskonsole wird der Zeitraum (pro Minute oder pro Stunde) für jede Ratenbegrenzung aufgelistet.
-
Klicke in einem Verwaltungskonto für GitHub Enterprise Server in der rechten oberen Ecke einer beliebigen Seite auf .
-
Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.
-
Klicke in der Randleiste „ Site admin“ auf Verwaltungskonsole.
-
Wähle unter „Ratenbegrenzung“ die Option HTTP-API-Ratenbegrenzung aktivieren aus.
-
Geben Sie Grenzwerte für authentifizierte und nicht authentifizierte Anforderungen für jede API ein, oder akzeptieren Sie die vorgefüllten Standardgrenzwerte.
-
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.
-
Warten Sie auf den Abschluss der Konfigurationsausführung.
Aktivieren sekundärer Geschwindigkeitsbegrenzungen
Sekundäre Ratenlimitierungen helfen dabei, Ihre GitHub Enterprise Server-Instance für alle Benutzer stabil zu halten.
-
Klicke in einem Verwaltungskonto für GitHub Enterprise Server in der rechten oberen Ecke einer beliebigen Seite auf .
-
Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.
-
Klicke in der Randleiste „ Site admin“ auf Verwaltungskonsole.
-
Wähle unter „Ratenbegrenzung“ die Option Sekundäre Ratenbegrenzung aktivieren aus.
-
Geben Sie Grenzwerte für Gesamtanforderungen, CPU-Grenzwert und CPU-Grenzwert für die Suche ein, oder akzeptieren Sie die vorgefüllten Standardgrenzwerte.
-
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.
-
Warten Sie auf den Abschluss der Konfigurationsausführung.
Aktivieren von Ratenbegrenzungen für Git
Wenn ein Mitarbeiter von GitHub dies empfohlen hat, kannst du Git-Ratenbegrenzungen pro Repositorynetzwerk oder pro Benutzer-ID anwenden. Git-Rate-Grenzwerte werden in gleichzeitigen Vorgängen pro Minute gemessen und an die aktuelle CPU-Auslastung angepasst.
Warnung
Lassen Sie diese Einstellung deaktiviert, es sei denn, dies wird direkt von den Mitarbeitern von GitHub empfohlen. Git-Operationen sind selten die Hauptursache für eine CPU- und RAM-Auslastung. Wenn Sie dieses Feature aktivieren, ist es wahrscheinlicher, dass Git-Vorgänge unter hoher Auslastung fehlschlagen, aber die zugrunde liegende Ursache wird nicht behoben.
-
Klicke in einem Verwaltungskonto für GitHub Enterprise Server in der rechten oberen Ecke einer beliebigen Seite auf .
-
Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.
-
Klicke in der Randleiste „ Site admin“ auf Verwaltungskonsole.
-
Wähle unter „Ratenbegrenzung“ die Option Git-Begrenzung aktivieren aus.
-
Gib unter „Grenzwert für Repositorynetzwerk“ einen Grenzwert für jedes Repositorynetzwerk ein.
-
Gib unter „Grenzwert für Benutzer-ID“ einen Grenzwert für jede Benutzer-ID ein.
-
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.
-
Warten Sie auf den Abschluss der Konfigurationsausführung.
Konfigurieren von Ratenbegrenzungen für GitHub Actions
Du kannst eine Ratenbegrenzung auf GitHub Actions-Workflowausführungen anwenden. Weitere Informationen zu GitHub Actions findest du unter Über GitHub Actions für Unternehmen.
Informationen zu GitHub Actions
Deine GitHub Enterprise Server-Instanz weist jeden GitHub Actions-Workflowauftrag einem Runner zu. Wenn Ihre Instanz einem verfügbaren Runner nicht sofort einen Auftrag zuweisen kann, wartet der Auftrag in einer Warteschlange. Wenn GitHub Actions eine dauerhafte hohe Auslastung erfährt, kann sich die Warteschlange stauen und die Leistung von Ihre GitHub Enterprise Server-Instance kann beeinträchtigt sein.
Um dies zu vermeiden, können Sie eine Ratenbegrenzung für GitHub Actions konfigurieren. Die Ratenbegrenzung wird in Auftragsläufen pro Minute gemessen. GitHub Enterprise Server wendet das Ratelimit für alle Auftragsausführungen auf der Instanz an. Wenn Ausführungen das Ratenlimit überschreiten, schlagen zusätzliche Ausführungen fehl, anstatt in die Warteschlange aufgenommen 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 gute Ratenbegrenzung schützt Ihre GitHub Enterprise Server-Instance vor ungewöhnlichen Spitzen in der GitHub Actions-Nutzung, ohne den täglichen Betrieb zu beeinträchtigen. Der richtige Schwellenwert hängt von den verfügbaren Ressourcen und der typischen Arbeitsauslastung Ihrer Instanz ab. Weitere Informationen zu Hardwareanforderungen für GitHub Actions finden Sie unter Erste Schritte mit GitHub Actions für GitHub Enterprise Server.
Die Ratenbegrenzung für GitHub Actions ist standardmäßig deaktiviert. GitHub Enterprise Server kann temporäre Nutzungsspitzen ohne Probleme verarbeiten, sodass dieses Ratenlimit vor anhaltender hoher Last verhindert. Lassen Sie es deaktiviert, es sei denn, es treten Leistungsprobleme auf. In einigen Fällen empfiehlt GitHub-Support möglicherweise das Aktivieren einer Ratenbegrenzung für GitHub Actions.
Aktivieren oder Deaktivieren von Ratenbegrenzungen für GitHub Actions
-
Melde dich über SSH bei Ihre GitHub 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
ssh -p 122 admin@HOSTNAME -
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 -
Um den Satzgrenzwert zu deaktivieren, führen Sie den folgenden Befehl aus.
ghe-config actions-rate-limiting.enabled false -
Führe den folgenden Befehl aus, um die Konfiguration anzuwenden.
ghe-config-apply -
Warte auf den Abschluss der Konfigurationsausführung.
Steuern der Geschwindigkeit für den Liveupdatedienst
Wenn die Anzahl der AJAX-Anforderungen an Ihre GitHub Enterprise Server Instanz Probleme verursacht, müssen Sie möglicherweise den Ratenbegrenzung für den WebSockets-Controller anpassen, der für diese Live-Updates verwendet wird. Ausführliche Informationen zum Anzeigen von Alive-Anforderungen finden Sie unter Über die Dashboards für die Überwachung.
Bei aktivierten Primärratengrenzwerten beträgt der Standardgrenzwert 100 Anforderungen pro Minute pro IP-Adresse. Verwenden Sie das Hilfsprogramm "ghe-config" in der administrativen Shell, um die Anzahl der Anfragen festzulegen, die pro Minute und pro IP-Adresse zulässig sind, oder um dieses Ratenlimit zu deaktivieren. Durch Festlegen des Grenzwerts auf einen nicht positiven ganzzahligen Wert (z. B 0. , -1, disabled) wird die Ratebegrenzung für den WebSockets-Controller deaktiviert.
Nachdem Sie diese Einstellungen geändert haben, führen Sie ghe-config-apply aus, um sie anzuwenden.