Inhalt: A website on a shared hosting can consume all system resources and disrupt the performance of other websites. This issue is known as the „noisy neighbor problem“. Plesk Cgroups Manager is an extension that helps you address this issue by managing the consumption of the CPU, RAM, and disk read and write bandwidth by customers.

In this topic, you will learn how to install and configure the Plesk Cgroups Manager extension, and also how to use it to monitor and control resource consumption by customers.

Note: This issue only affects Plesk servers used for shared hosting. If you are running a Plesk Web Admin server, this topic is unlikely to be of interest to you.

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

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.

Einschränkungen

  • Cgroups Manager kann die Ressourcen nicht einschränken, die Plesk Erweiterungen und benutzerdefinierte, manuell installierte Dienste verbrauchen. Dies gilt für alle Plesk Erweiterungen: LiteSpeed ist dabei keine Ausnahme.
  • Cgroups Manager in einem Virtuozzo 7-Container kann RAM und die CPU verwalten, aber nicht die Datenträger-E/A. Für Cgroups Manager in einer virtuellen Virtuozzo-Maschine gilt diese Einschränkung nicht. Um Cgroups Manager ohne diese Einschränkung zu nutzen, migrieren Sie Plesk von einem Virtuozzo 7-Container auf ein anderes Betriebssystem.

Installation

So aktivieren Sie Cgroups Manager:

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

    1. Go to Tools & Settings > Updates (under „Plesk“) > Add/Remove Components.

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

      Bemerkung: 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. Click Services Management (under „Server Management“)
    3. Start the „Resource Controller (Cgroups)“ service.

Konfigurieren von Cgroups Manager

Vorsicht: 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.
  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

If the server has multiple CPU cores, the available CPU amount is equal to 100% * the number of CPU cores. For example, if your server has two CPU cores, the available CPU amount is 200%.

image limit cpu

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 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 (unter „Plesk“).
  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 (unter „Plesk“).
  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

Integrieren von Cgroups Manager in die Erweiterung „Monitoring“

Sie können Cgroups Manager in die Erweiterung „Monitoring“ integrieren. So sehen Kunden den Ressourcenverbrauch ihrer Abonnements. Der Plesk Administrator kann die Ressourcennutzung von bis zu zehn Abonnements abrufen und vergleichen.

Anleitung zum Integrieren von Cgroups Manager in die Erweiterung „Monitoring“

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