(Plesk für Linux) Cgroups Manager
Inhalt: Eine Website in einer Shared Hosting-Umgebung kann alle Systemressourcen verbrauchen und die Leistung anderer Websites beeinträchtigen. Dieses Problem wird auch „Noisy Neigbor“ (lauter Nachbar) genannt. Mit der Plesk Cgroups Manager-Erweiterung können Sie dieses Problem lösen, indem Sie den Verbrauch von CPU, RAM und der Bandbreite für das Lesen und Schreiben auf der Festplatten durch Kunden verwalten.
In diesem Artikel erfahren Sie, wie Sie die Plesk Cgroups Manager-Erweiterung installieren und konfigurieren und wie Sie sie zur Überwachung und Kontrolle des Ressourcenverbrauchs von Kunden einsetzen.
Hinweis: Dieses Problem betrifft nur Plesk Server in Shared Hosting-Umgebungen. Wenn Sie einen Plesk Web Admin-Server betreiben, ist dieser Artikel wahrscheinlich nicht von Interesse für Sie.
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:
-
Installieren Sie die Komponente „Ressourcenkontrolle (Cgroups)“ mithilfe von Plesk Installer:
-
Gehen Sie zu Tools & Einstellungen > Updates (unter „Plesk“) > Komponenten hinzufügen oder entfernen.
-
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.
-
-
Starten Sie die Komponente:
- Gehen Sie zu Tools & Einstellungen
- Klicken Sie auf Service-Verwaltung (unter „Serververwaltung“).
- Starten Sie den Dienst „Ressourcenkontrolle (Cgroups)“.
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) |
|
|
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 zwei CPU-Kerne hat, dann ist der verfügbare CPU-Wert 200 %.
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:
- 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. - Mit dem unter
Zeitraum
angegebenen Wert wird festgelegt, wie oft in Cgroups Manager überprüft wird, ob das Abonnement denGrenzwert
innerhalb des letztenPrüfzeitraums
überschritten hat.- Wenn das Abonnement den
Grenzwert
in allen Abschnitten desPrü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.
- Wenn das Abonnement den
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:
- Gehen Sie zu Tools & Einstellungen > Benachrichtigungen (unter „Plesk“).
- 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:
- Gehen Sie zu Tools & Einstellungen > Benachrichtigungen (unter „Plesk“).
- 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