Cgroups Manager (Linux)

Un sito web in un hosting condiviso può consumare tutte le risorse del sistema e compromettere le prestazioni di altri siti web. Questo scenario è noto come "problema del vicino rumoroso".

Plesk Cgroups Manager è un'estensione che consente di affrontare il problema più facilmente gestendo il consumo di CPU, RAM e della larghezza di banda di scrittura e lettura disco.

Per ogni abbonamento e risorsa di sistema Cgroups Manager consente di:

  • Impostare la quantità (limite) massima della risorsa che l'abbonamento può consumare.
  • Monitorare la quantità di risorsa che l'abbonamento consuma e inviare notifiche e-mail quando viene superato un determinato livello (soglia).

In questa sezione:

Requisiti

Installazione

Configurazione di Cgroups Manager

Limitazione del consumo di risorse

Monitoraggio e notifiche sul consumo di risorse

Restrizioni

Disattivazione di Cgroups Manager

 

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.

Licenza dell'estensione

Cgroups Manager è un'estensione a pagamento. Può essere acquistata separatamente o come parte dell'Hosting Pack.

SO e sistema di inizializzazione

Cgroups Manager è disponibile per:

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

Per impostazione predefinita, tutte queste distribuzioni utilizzano il sistema di inizializzazione systemd, necessario per Cgroups Manager. In alternativa, è comunque possibile installare Plesk in Debian mediante il sistema di inizializzazione denominato System V. Per verificare il sistema di inizializzazione attuale, eseguire cat /proc/1/comm nell'interfaccia a riga di comando.

Nota: se si installa Cgroups Manager in Debian mediante System V, Plesk lo sostituirà con systemd. Per rendere effettive le modifiche apportate, sarà quindi necessario riavviare il sistema manualmente, dopo l'installazione.

Limitazioni per Virtuozzo 6 e 7

Plesk in Virtuozzo 6 supporta solo la gestione della RAM, mentre Plesk in Virtuozzo 7 è in grado di gestire sia la RAM che la CPU, ma non l'I/O su disco.

Se il sistema utilizzato non soddisfa alcuni requisiti, è possibile migrare Plesk a un sistema più adeguato.

 

Installazione

Per abilitare Cgroups Manager:

  1. Installa il componente Resource Controller (Cgroups) utilizzando Plesk Installer:
    1. Vai su Strumenti e impostazioni
    2. Fai clic sul link Aggiornamenti
    3. Fai clic sul link Aggiungi/Rimuovi componenti
    4. 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.

  2. Avvia il componente:
    1. Vai su Strumenti e impostazioni
    2. Fai clic sul link Gestione di servizi
    3. Avvia il servizio "Resource Controller (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)

  1. Vai su Piani di servizio > apri la scheda Piani di hosting.
  2. Fai clic sul piano di servizio per il quale desideri configurare Cgroups Manager.
  3. Apri la scheda RAM, CPU, I/O disco.
  1. Vai su Abbonamenti.
  2. Fai clic sull'abbonamento per il quale desideri configurare Cgroups Manager.
  3. Fai clic su Personalizza > apri la scheda RAM, CPU, I/O disco.

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 disponibile.

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

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:

  1. Ogni 5 minuti Cgroups Manager conteggia il consumo medio di risorse di un abbonamento e controlla se equivale o supera la soglia.
  2. Alla scadenza di ogni periodo, Cgroups Manager verifica quante volte l'abbonamento ha superato la soglia durante l'ultimo periodo di tempo.
    • Se l'abbonamento ha superato la soglia in tutti gli intervalli di un periodo, 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.
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:

  1. Accedi a Strumenti e impostazioni > Notifiche.
  2. 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:

  1. Accedi a Strumenti e impostazioni > Notifiche.
  2. 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.

 

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
 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.