Eine Website auf einem gemeinsam genutzten Server kann alle Systemressourcen beanspruchen und die Leistung anderer Websites beeinträchtigen. Dieses Problem wird auch „Noisy Neighbor“, also „lauter Nachbar“ genannt.

Plesk Cgroups Manager ist eine Erweiterung, mit der Sie dieses Problem verhindern können, indem Sie den Verbrauch von CPU, RAM und Bandbreite zum Lesen/Schreiben auf dem Datenträger verwalten können.

Mithilfe von Cgroups Manager können Sie für jede Systemressource Folgendes ausführen:

  • Sie können einen Grenzwert für den Ressourcenverbrauch festlegen.
  • Sie können den Ressourcenverbrauch überwachen und E-Mail-Benachrichtigungen versenden, wenn ein bestimmter Schwellenwert überschritten wird.

Sie können Cgroups Manager konfigurieren und Grenzwerte auf den folgenden Ebenen festlegen:

  • Für ein Service-Paket und damit für alle darin enthaltenen Abonnements
  • Für ein einzelnes Abonnement

Bemerkung: Wenn Sie Cgroups auf einem Plesk Server mit einem benutzerdefinierten Kernel verwenden möchten, müssen Sie eine Reihe von Parametern beim Kompilieren des Kernels angeben.

Anforderungen

Plesk Lizenz

Cgroups Manager ist für die folgenden Plesk Editionen verfügbar:

  • Plesk Web Pro
  • Plesk Web Host

Wenn Sie das Web Admin-Paket verwenden und den Ressourcenverbrauch Ihrer Websites verwalten möchten, sollten Sie ein Upgrade auf Web Pro durchführen und Websites auf mehrere Abonnements aufteilen.

Lizenz für die Erweiterung

Cgroups Manager ist eine kostenpflichtige Erweiterung. Sie können sie entweder separat oder als Teil des Hosting-Pakets erwerben.

Betriebssystem und init-System

Cgroups Manager ist verfügbar für:

  • Debian 8
  • Ubuntu 16.04 auf Ubuntu 18.04
  • CentOS 7
  • Red Hat Enterprise Linux 7

Standardmäßig verwenden alle diese Distributionen das init-System namens systemd, das für Cgroups Manager erforderlich ist. Plesk kann jedoch auch unter Debian mit einem alternativen init-System namens System V installiert werden. Um zu überprüfen, welches init-System derzeit verwendet wird, führen Sie in der Befehlszeilenschnittstelle cat /proc/1/comm aus.

Bemerkung: Hinweis: Wenn Sie Cgroups Manager unter Debian mit System V installieren, wird das System in Plesk mit systemd ersetzt. Sie müssen das System nach der Installation manuell neu starten, damit die Änderung angewendet wird.

Einschränkungen unter Debian 8

Standardmäßig funktioniert Cgroups Manager unter Debian 8 nur eingeschränkt, da sein Kernel die CPU- und RAM-Grenzwerte von cgroups nicht unterstützt. Weitere Informationen zu Cgroups Manager für Debian 8 und mögliche Lösungen.

Einschränkungen unter Virtuozzo 6 und 7

Wenn Plesk in einem Virtuozzo 6 Container installiert ist, kann nur der RAM verwaltet werden. Wenn Plesk in einem Virtuozzo 7 Container installiert ist, können der RAM und CPU, jedoch nicht der Datenträger-E/A verwaltet werden. Wenn Plesk in einer virtuellen Maschine von Virtuozzo installiert ist, gelten diese Einschränkungen nicht.

If your system does not meet some requirements, you can migrate Plesk to one that meets them.

Installation

So aktivieren Sie Cgroups Manager:

  1. Installieren Sie die Komponente „Ressourcenkontrolle (Cgroups)“ mithilfe von Plesk Installer:

    1. Gehen Sie zu „Tools & Einstellungen“.

    2. Klicken Sie auf den Link „Updates und Upgrades“.

    3. Klicken Sie auf den Link „Komponenten hinzufügen/entfernen“.

    4. Wählen Sie „Ressourcenkontrolle (Cgroups)“ aus und klicken Sie auf „Weiter“.

      Bemerkung: Hinweis: Wenn die erforderliche Komponente nicht in der Liste der verfügbaren Komponenten angezeigt wird, vergewissern Sie sich, dass Ihr System den Anforderungen entspricht.

  2. Starten Sie die Komponente:

    1. Gehen Sie zu „Tools & Einstellungen“.
    2. Klicken Sie auf den Link „Dienstverwaltung“.
    3. Starten Sie den Dienst „Ressourcenkontrolle (Cgroups)“.

Konfigurieren von Cgroups Manager

Bemerkung: Achtung: Wenn Cgroups Manager falsch konfiguriert wird, können gehostete Websites dadurch langsamer werden oder sogar nicht verfügbar sein. Bevor Sie Änderungen vornehmen, lesen Sie sich die Anleitung in diesem Kapitel sorgfältig durch und vergewissern Sie sich, dass Sie den Ablauf verstanden haben.

Sie können Cgroups Manager auf den folgenden Ebenen konfigurieren:

  • Für ein Service-Paket und damit für alle darin enthaltenen Abonnements
  • Für ein einzelnes Abonnement

Die Einstellungen für das Abonnement setzen die Konfiguration des Service-Pakets außer Kraft. Add-on-Pakete können nicht zur Änderung der Einstellungen von Cgroups Manager eingesetzt werden.

Nachdem Sie den Dienst installiert und gestartet haben, sind die folgenden Konfigurationstools verfügbar:

Tool Service-Paket Abonnement
Plesk Panel (in der Service-Provider-Ansicht)
  1. Gehen Sie zu „Service-Pakete“ und öffnen Sie den Tab „Hosting-Pakete“.
  2. Klicken Sie auf das Service-Paket, für das Sie Cgroups Manager konfigurieren möchten.
  3. Öffnen Sie den Tab „RAM, CPU, Datenträger-E/A“.
  1. Gehen Sie zu „Abonnements“.
  2. Klicken Sie auf das Abonnement, für das Sie Cgroups Manager konfigurieren möchten.
  3. Klicken Sie auf „Anpassen“ und öffnen Sie den Tab „RAM, CPU, Datenträger-E/A“.
Plesk CLI Verwenden Sie die Optionen für -cgroups* im Hilfsprogramm service_plan. Verwenden Sie die Optionen für -cgroups* im Hilfsprogramm subscription_settings.
Plesk XML API Weitere Informationen zum Verwalten von Service-Paketen Weitere Informationen zum Verwalten von Abonnements

Einschränken des Ressourcenverbrauchs

Einrichten von Grenzwerten

Für jede verwaltete Ressource kann an erster Stelle ein Grenzwert festgelegt werden. Dieser Grenzwert gilt dann speziell für die jeweilige Ressource. Standardmäßig sind keine Grenzwerte festgelegt, d. h. Ressourcen sind nicht beschränkt.

Für Abonnements können die gleichen Einstellungen vorgenommen werden, aber jedes Abonnement hat seinen eigenen Grenzwert.

Wenn eine Ressource für ein bestimmtes Abonnement beschränkt ist, gilt Folgendes:

  • In Cgroups Manager werden alle Prozesse im Abonnement des Systembenutzers überwacht. Diese Prozesse können in Summe den Grenzwert der einzelnen Ressourcen nicht überschreiten.
  • Wenn ein Abonnement den Wert erreicht, wird vom Betriebssystem je nach Ressourcentyp eine bestimmte Maßnahme durchgeführt.
  • Dieser Grenzwert kann für ein Abonnement nie überschritten werden, auch wenn auf dem Server noch Ressourcen des entsprechenden Typs vorhanden sind (z. B. CPU-Zyklen im Leerlauf, freier RAM).

Wenn eine Ressource für ein bestimmtes Abonnement nicht beschränkt ist, gilt Folgendes:

  • Die Prozesse des Abonnements können so viele Ressourcen wie verfügbar beanspruchen.
  • Die Ressource wird von den Prozessen aller Abonnements verwendet:
    • CPU-Zeit und Datenträger-E/A werden beinahe gleichmäßig verteilt.
    • RAM wird wie von den Prozessen angefordert aufgeteilt.

In beiden Fällen wird nicht garantiert, dass ein Abonnement ein Minimum an verfügbaren Ressourcen erhält.

Zulässige Grenzwerte

Die folgenden Werte können für die Einschränkungen festgelegt werden:

Einstellung Gemessen in Verfügbare Werte
CPU-Limit Prozentsatz der CPU-Zeit, wobei 100 % einem voll ausgelasteten CPU-Kern entspricht Nicht mehr als 100 % * Anzahl der CPU-Kerne
RAM-Limit Byte Nicht weniger als 1 MB
Datenträgerschreibgeschwindigkeit Byte pro Sekunde Nicht weniger als 1 MB pro Sekunde
Datenträgerlesegeschwindigkeit Byte pro Sekunde Nicht weniger als 1 MB pro Sekunde

Wenn der Server mehrere CPU-Kerne hat, wird für die Berechnung des verfügbaren CPU-Werts 100 % mit der Anzahl der CPU-Kerne multipliziert. Falls Ihr Server beispielsweise vier CPU-Kerne hat, dann ist der verfügbare CPU-Wert 400 %.

image 78709

Verwaltung des Ressourcenverbrauchs

Wenn die Prozesse eines bestimmten Abonnements den maximal zulässigen Wert einer Ressource erreicht haben, wird vom Betriebssystem je nach Ressourcentyp eine bestimmte Maßnahme durchgeführt.

Überbeanspruchte Ressource Aktionen Auswirkung
CPU, RAM und Bandbreite zum Lesen/Schreiben Die Prozesse dieses Abonnements werden eingeschränkt, damit sie nicht mehr Ressourcen als den maximal zulässigen Wert verbrauchen. Die entsprechenden Websites sind möglicherweise langsamer und die Reaktionszeit erhöht sich.
RAM Wenn die Prozesse eines bestimmten Abonnements das RAM-Limit erreichen, werden die Prozesse beendet, die am meisten Speicher verbrauchen. Die entsprechenden Websites sind für einige Zeit möglicherweise nicht verfügbar und geben HTTP-Codes 5xx auf Anfragen zurück.

Überwachen des Ressourcenverbrauchs und Senden von Benachrichtigungen

Einrichten von Überwachung und Benachrichtigungen

Wenn Sie einen Grenzwert für eine Ressource festlegen, können Sie in Plesk einrichten, dass der Verbrauch dieser Ressource überwacht wird.

Geben Sie die folgenden Werte an, wenn Sie die Überwachung aktivieren möchten:

  • Schwellenwert („Benachrichtigung erhalten, wenn Grenzwert überschritten wird“ in Plesk Panel)
  • Zeitraum

Wenn Sie die Überwachung wieder deaktivieren möchten, entfernen Sie den entsprechenden Grenzwert.

Zulässige Werte für die Überwachung

Die folgenden Werte können für die Überwachung festgelegt werden:

Einstellung Gemessen in Verfügbare Werte
CPU-Limit Prozentsatz der CPU-Zeit, wobei 100 % einem voll ausgelasteten CPU-Kern entspricht Nicht mehr als der CPU-Grenzwert
RAM-Limit Byte Nicht weniger als 1 MB und nicht mehr als der RAM-Grenzwert
Datenträgerschreibgeschwindigkeit Byte pro Sekunde Nicht weniger als 1 MB pro Sekunde und nicht mehr als der Grenzwert zum Schreiben auf dem Datenträger
Datenträgerlesegeschwindigkeit Byte pro Sekunde Nicht weniger als 1 MB pro Sekunde und nicht mehr als der Grenzwert zum Lesen auf dem Datenträger
Prüfzeitraum (für alle Ressourcen) Sekunden 300 (5 Minuten), 3600 (1 Stunde) oder 86400 (24 Stunden)

Überwachung durch das System

Wenn Sie die Ressourcenüberwachung für eine oder mehrere Ressourcen aktivieren, wird die Überwachung durch Cgroups Manager gestartet. Falls Sie die Ressourcenüberwachung auf Abonnementebene aktiviert haben, wird der Ressourcenverbrauch für dieses Abonnement überwacht. Falls Sie die Ressourcenüberwachung auf Service-Paket-Ebene aktiviert haben, wird der Ressourcenverbrauch für alle Abonnements in diesem Service-Paket überwacht:

  1. Alle fünf Minuten wird in Cgroups Manager der durchschnittliche Verbrauch einer Ressource im Abonnement berechnet und überprüft, ob der Wert dem Grenzwert entspricht oder darüber liegt.
  2. Mit dem unter Zeitraum angegebenen Wert wird festgelegt, wie oft in Cgroups Manager überprüft wird, ob das Abonnement den Grenzwert innerhalb des letzten Prüfzeitraums überschritten hat.
    • Wenn das Abonnement den Grenzwert in allen Abschnitten des Prüfzeitraums überschritten hat, sendet Cgroups Manager eine E-Mail-Benachrichtigung.
    • Wenn für ein Abonnement über mehr als einen Zeitraum hinweg der Grenzwert erreicht wird, werden keine weiteren Benachrichtigungen gesendet.

Beispiel für die Überwachung

Mit diesem Beispiel möchten wir die Überwachung durch Cgroups Manager und das Auslösen von Benachrichtigung genauer erläutern.

Für das Abonnement-Paket P gelten die folgenden Einstellungen:

Einstellung Wert
CPU-Limit 200 %
CPU-Grenzwert 160%
Prüfzeitraum für CPU 1 Stunde

Wie bereits erwähnt, heißt 100 %, dass ein CPU-Kern voll ausgelastet ist.

Es gibt zwei Abonnement in diesem Plan: A und B

Das Abonnement A umfasst eine Aufgabe, die die CPU stark auslastet, einmal pro Stunde ausgeführt wird und in etwa 10 Minuten dauert. In diesen 10 Minuten verbrauchen die Prozesse des Abonnements mehr als 160 % der CPU-Zeit. In der restlichen Zeit verbraucht das Abonnement weniger als 160 % der CPU-Zeit. Für die Benachrichtigungen ist es nicht wichtig, ob der Grenzwert erreicht wird.

Die Website des Abonnements B wird stark genutzt. Die Prozesse des Abonnements verbrauchen immer mehr als 160 % der CPU-Zeit.

In einem Intervall von 5 Minuten wird in Cgroups Manager der durchschnittliche Verbrauch berechnet. Nach einer Stunde liegt das folgende Ergebnis vor:

  • Das Abonnement A hat den Grenzwert in zwei von 12 Intervallen überschritten. Cgroups Manager sendet keine Benachrichtigung.
  • Das Abonnement B hat den Grenzwert in allen 12 Intervallen überschritten. Cgroups Manager sendet eine Benachrichtigung, wiederholt dies jedoch nicht, wenn die Belastung weiterhin gleich bleibt.

Empfänger und Inhalt der Benachrichtigungen

So legen Sie die Empfänger der Benachrichtigungen fest:

  1. Gehen Sie zu „Tools & Einstellungen“ > „Benachrichtigungen“.
  2. Wählen Sie die erforderlichen Empfänger neben „RAM, CPU, Datenträger-E/A (Cgroups)“ aus.

Der Inhalt der Benachrichtigungen ist in einem Template festgelegt. So können Sie das Template aufrufen und bearbeiten:

  1. Gehen Sie zu „Tools & Einstellungen“ > „Benachrichtigungen“.
  2. Wählen Sie die Schaltfläche ganz rechts neben „RAM, CPU, Datenträger-E/A (Cgroups)“ aus.

Weitere Informationen zu automatischen E-Mail-Benachrichtigungen

Einschränkungen

Einige technische oder unternehmensspezifische Probleme können nicht über die Ressourcenverwaltung gelöst werden:

  • Kunden, die Ressourcen bereits überbeansprucht haben, sehen sich mit Wahrscheinlichkeit einer geringeren Leistung gegenüber.
  • In Cgroups Manager werden Ressourcen für Ruby, Python und Node.js-Web-Anwendungen mit Phusion Passenger nicht überwacht und eingeschränkt.

Deaktivieren von Cgroups Manager

Wenn Sie die Cgroups Manager-Funktion ausblenden möchten, fügen Sie diese Zeilen in der Datei panel.ini hinzu:

[resourceController]
enabled = false