(Plesk per Linux) Cgroups Manager
Riassunto: Un sito web con hosting condiviso può consumare tutte le risorse del sistema e rallentare le prestazioni degli altri siti, provocando il cosiddetto problema del «noisy neighbor». Plesk Cgroups Manager è un’estensione che consente di affrontare questo problema attraverso la gestione del consumo di CPU, RAM, larghezza di banda di lettura e scrittura su disco da parte dei clienti.
In questa sezione imparerai a installare e configurare l’estensione Plesk Cgroups Manager. Inoltre, scoprirai come utilizzarla per monitorare e controllare il consumo di risorse da parte dei clienti.
Nota: questo problema riguarda solo i server Plesk utilizzati per l’hosting condiviso. Se utilizzi un server Plesk Web Admin, questa sezione non dovrebbe essere rilevante.
Per ciascuna risorsa di sistema, Cgroups Manager consente di:
- Impostare una quantità massima (limite) per la risorsa consumata.
- Monitorare la quantità di risorsa consumata e inviare notifiche e-mail quando viene superato un determinato livello (soglia).
Puoi configurare Cgroups Manager e impostare il limite di risorsa consumata sui livelli seguenti:
- Per un piano di servizio, includendo tutti gli abbonamenti nel piano.
- Per un singolo abbonamento.
Requisiti
Licenza di Plesk
Cgroups Manager è disponibile per le seguenti edizioni di Plesk:
- Plesk Web Pro
- Plesk Web Host
Se utilizzi il piano Ammin web e desideri gestire il consumo di risorse dei tuoi siti web, considera l’aggiornamento a Web Pro e la distribuzione dei siti web fra diversi abbonamenti.
Limitazioni
- Cgroups Manager non può limitare il consumo di risorse delle estensioni Plesk e dei servizi personalizzati installati manualmente. Questo vale per tutte le estensioni di Plesk: LiteSpeed non fa eccezione.
- Cgroups Manager in un container Virtuozzo 7 può gestire la RAM e la CPU, ma non l’I/O del disco. Cgroups Manager in una macchina virtuale Virtuozzo non ha questa limitazione. Per usare Cgroups Manager senza tale limitazione, esegui la migrazione del tuo Plesk da un container Virtuozzo 7 a un altro SO.
Installazione
Per abilitare Cgroups Manager:
-
Installa il componente Resource Controller (Cgroups) utilizzando Plesk Installer:
-
Apri Strumenti e impostazioni > Aggiornamenti (in «Plesk») > Aggiungi/Rimuovi componenti.
-
Seleziona «Resource Controller (Cgroups)», quindi Continua.
Nota: Se il componente richiesto non è incluso nell’elenco dei componenti disponibili, assicurati che il sistema soddisfi i requisiti.
-
-
Avvia il componente:
- Vai su Strumenti e impostazioni
- Fai clic su Gestione di servizi (in «Gestione del server»)
- Avvia il servizio «Controller risorse (Cgroups)».
Configurazione di Cgroups Manager
Attenzione: Una configurazione scorretta di Cgroups Manager può rallentare i siti web ospitati o persino renderli non più disponibili. Assicurati di aver letto e compreso le istruzioni in questo argomento prima di apportare qualsiasi modifica.
È possibile configurare Cgroups Manager sui seguenti livelli:
- Per un piano di servizio, includendo tutti gli abbonamenti nel piano.
- Per un singolo abbonamento.
Le impostazioni al livello dell’abbonamento hanno la priorità rispetto a quelle al livello del piano di servizio. Non è possibile utilizzare piani aggiuntivi per modificare le impostazioni di Cgroups Manager.
Una volta installato e avviato il servizio, diventano disponibili i seguenti strumenti di configurazione:
Strumento | Piano di servizio | Abbonamento |
---|---|---|
Plesk Panel (utilizza la visualizzazione Service Provider) |
|
|
CLI Plesk | Utilizza le opzioni -cgroups* dell’utility service_plan. |
Utilizza le opzioni -cgroups* dell’utility subscription_settings. |
API XML Plesk | Consultare la documentazione su Gestione di piani di servizio. | Consultare la documentazione su Gestione di abbonamenti. |
Limitazione del consumo di risorse
Impostazione dei limiti
La prima delle impostazioni disponibili per ogni risorsa gestita è il valore del limite. Ogni risorsa gestita ha un proprio valore limite. Per impostazione predefinita, i valori dei limiti non sono configurati, ovvero il consumo delle risorse non è limitato.
Gli abbonamenti possono condividere le impostazioni dei limiti, ma il consumo di ciascuna risorsa presenta un proprio limite.
Se il consumo di una risorsa è limitato per un determinato abbonamento:
- Cgroups Manager monitora tutti i processi appartenenti all’utente di sistema dell’abbonamento. In combinazione, questi processi non possono consumare più del valore limite di ciascuna risorsa.
- Se un abbonamento raggiunge il limite, il sistema operativo esegue una determinata azione, in base al tipo di risorsa.
- Un abbonamento non può superare il limite, anche se sul server sono disponibili risorse libere del tipo corrispondente (cicli della CPU inattivi, RAM libera, ecc.).
Se il consumo di una risorsa non è limitato per un determinato abbonamento:
- I processi dell’abbonamento possono utilizzare tutta la quantità disponibile della risorsa.
- La risorsa viene condivisa fra i processi di tutti gli abbonamenti:
- Il tempo della CPU e l’I/O su disco vengono condivisi quasi in parti uguali.
- La RAM viene condivisa come richiesto dai processi.
In entrambi i casi, non è garantito che un abbonamento riceva una quantità minima di risorsa.
Valori di impostazione consentiti per i limiti
Le impostazioni dei limiti possono presentare i seguenti valori:
Impostazione | Misurato in | Valori disponibili |
---|---|---|
Limite CPU | Percentuale di tempo della CPU, dove il 100% equivale a un core CPU completamente utilizzato | Non oltre il 100% * Numero di core CPU |
Limite di RAM | Byte | Non meno di 1 MB |
Velocità di input (scrittura) su disco | Byte al secondo | Non meno di 1 MB al secondo |
Velocità di output (lettura) da disco | Byte al secondo | Non meno di 1 MB al secondo |
Se il server è dotato di più core CPU, la quantità di CPU disponibile corrisponde al 100% moltiplicato per il numero di core CPU. Ad esempio, se il server ha quattro core CPU, la quantità di CPU disponibile è pari al 400%.
Come il sistema gestisce il consumo di risorse
Quando i processi di un abbonamento specifico utilizzano il valore massimo consentito di una risorsa, il sistema operativo esegue determinate azioni, in base al tipo di risorsa.
Utilizzo eccessivo di risorse | Azioni | Impatto |
---|---|---|
CPU, larghezza di banda di lettura e scrittura disco | Il sistema riduce i processi di questo abbonamento, in modo che non utilizzi più risorse di quelle consentite dal limite. | I siti web corrispondenti potrebbero funzionare più lentamente e presentare un tempo di risposta superiore. |
RAM | Quando i processi di un abbonamento specifico raggiungono il limite della RAM, il sistema interrompe quello che consuma la maggiore quantità di memoria. | Il sito web corrispondente potrebbe risultare non disponibile per qualche tempo e rispondere alle richieste tramite codici HTTP 5xx. |
Monitoraggio e notifiche sul consumo di risorse
Impostazione di monitoraggio e notifiche
Una volta impostato il limite per una risorsa, è anche possibile configurare Plesk in modo da monitorare il consumo per tale risorsa.
Per attivare il monitoraggio, imposta i seguenti valori:
- Soglia («Notifica al superamento» in Plesk Panel).
- Periodo.
Per disattivare il monitoraggio, rimuovi il valore di soglia corrispondente.
Valori di impostazione consentiti per il monitoraggio
Le impostazioni di monitoraggio possono presentare i seguenti valori:
Impostazione | Misurato in | Valori disponibili |
---|---|---|
Limite CPU | Percentuale di tempo della CPU, dove il 100% equivale a un core CPU completamente utilizzato | Non superiore al valore del limite della CPU |
Limite di RAM | Byte | Non meno di 1 MB e non più del valore limite della RAM |
Velocità di input (scrittura) su disco | Byte al secondo | Non meno di 1 MB al secondo e non più del valore limite di scrittura su disco |
Velocità di output (lettura) da disco | Byte al secondo | Non meno di 1 MB al secondo e non più del valore limite di lettura disco |
Periodo di controllo (per qualsiasi risorsa) | Secondi | 300 (5 minuti), 3600 (1 ora) o 86400 (24 ore) |
Come il sistema esegue il monitoraggio
Quando attivi il monitoraggio per una o più risorse, Cgroups Manager inizia a monitorarne il consumo. Se hai abilitato il monitoraggio delle risorse a livello dell’abbonamento, viene monitorato il consumo di risorse per tale abbonamento. Invece, se hai abilitato il monitoraggio delle risorse a livello del piano di servizio, viene monitorato il consumo di risorse per tutti gli abbonamenti basati su tale piano di servizio:
- Ogni cinque minuti Cgroups Manager conteggia il consumo medio di risorse di un abbonamento e controlla se equivale o supera la
soglia
. - Alla scadenza di ogni
periodo
, Cgroups Manager verifica quante volte l’abbonamento ha superato lasoglia
durante l’ultimoperiodo
di tempo.- Se l’abbonamento ha superato la
soglia
in tutti gli intervalli di unperiodo
, Cgroups Manager invia una notifica e-mail. - Se ciò si protrae per un intervallo più lungo di un singolo
periodo
, non vengono inviate altre notifiche.
- Se l’abbonamento ha superato la
Esempio di monitoraggio
Questo esempio consente di comprendere meglio come Cgroups Manager esegue il monitoraggio e attiva le notifiche.
Un piano di abbonamento P presenta le seguenti impostazioni:
Impostazione | Valore |
---|---|
Limite CPU | 200% |
Soglia CPU | 160% |
Periodo di controllo CPU | 1 ora |
Come illustrato in precedenza, il 100% indica che un core della CPU viene utilizzato completamente.
Nel piano sono inclusi due abbonamenti: A e B.
Nell’abbonamento A, un’attività a uso intensivo della CPU viene seguita ogni ora e richiede circa 10 minuti. Per tali 10 minuti, i processi dell’abbonamento consumano più del 160% del tempo della CPU. Per l’intervallo rimanente, l’abbonamento consuma meno del 160% del tempo della CPU. Per le notifiche non è importante se si raggiunge il valore del limite.
Il sito web dell’abbonamento B gestisce un carico elevato. I processi dell’abbonamento consumano sempre un valore superiore al 160% del tempo della CPU.
Cgroups Manager conteggia il consumo medio a ogni intervallo di 5 minuti. Quindi, alla fine di un’ora, si ottengono i seguenti risultati:
- L’abbonamento A ha superato la soglia in due intervalli su 12. Cgroups Manager non invia alcuna notifica.
- L’abbonamento B ha superato la soglia in tutti e 12 gli intervalli. Cgroups Manager invia una notifica, ma non ne invia altre, se il carico continua.
Destinatari e contenuto delle notifiche
Per selezionare chi riceverà le notifiche:
- Vai a Strumenti e impostazioni > Notifiche (in «Plesk»).
- Seleziona i destinatari richiesti accanto a CPU, RAM e I/O disco (Cgroups).
Il contenuto di ogni messaggio di notifica si basa su un modello. Per leggere e modificare il modello:
- Vai a Strumenti e impostazioni > Notifiche (in «Plesk»).
- Fai clic sul pulsante più a destra accanto a CPU, RAM e I/O disco (Cgroups).
Per maggiori informazioni, consulta la documentazione sulle notifiche e-mail automatiche.
Integrazione di Cgroups Manager con l’estensione Monitoring
Puoi integrare Cgroups Manager con l”estensione Monitoring. Questo permette ai clienti di vedere quanto consumino le risorse del loro abbonamento e permette inoltre all’amministratore di Plesk di visualizzare e comparare l’utilizzo di risorse di fino a dieci abbonamenti.
Scopri come integrare Cgroups Manager con l’estensione Monitoring.
Restrizioni
Alcuni problemi tecnici e commerciali non si possono risolvere semplicemente con la gestione delle risorse:
- I clienti che, in una fase iniziale, hanno utilizzato le risorse in modo eccessivo probabilmente rileveranno un peggioramento delle prestazioni.
- Cgroups Manager non monitora, né limita il consumo di risorse per le applicazioni web Ruby, Python e Node.js che utilizzano Phusion Passenger.
Disattivazione di Cgroups Manager
Per nascondere la funzionalità di Cgroups Manager, aggiungere queste righe al file panel.ini:
[resourceController]
enabled = false