Quando un server è sovraccarico, sia virtuale che dedicato, causa un caricamento lento dei siti Web e produce errori irritanti anziché contenuti. È necessario monitorare attentamente i suoi parametri e condurre un'analisi tempestiva delle risorse per evitare tale risultato,
Successivamente, esamineremo la diagnosi delle singole risorse tramite gli strumenti del provider di hosting, nonché tramite il terminale sul lato server. Inoltre, prenderemo in considerazione vari approcci per risolvere i problemi associati alle scarse prestazioni del sistema. Le istruzioni si applicano a tutti i server che eseguono il sistema operativo Linux, indipendentemente dal software preinstallato.
Controllo delle risorse del server tramite VMmanager
Lo strumento di virtualizzazione VMmanager è la soluzione più semplice, ma al contempo universale, per la diagnostica. Svolge un ruolo chiave nel garantire una gestione efficiente di server dedicati o virtuali sulla maggior parte dei moderni provider di hosting. A titolo di esempio, il controllo verrà eseguito sulla versione 6 dello strumento, tuttavia anche le versioni precedenti potrebbero effettuare diagnosi simili.
Per eseguire l'analisi, è necessario accedere al pannello di controllo di VMmanager e selezionare la macchina virtuale desiderata:
Successivamente, l'utente può vedere immediatamente l'utilizzo delle risorse in tempo reale. Per statistiche più dettagliate, è necessario selezionare "Parametri":
La scheda statistiche dettagliate in alto mostra le caratteristiche generali del server e il tipo di virtualizzazione. Nei grafici puoi vedere la congestione di rete, il carico del processore, l'utilizzo di RAM e spazio su disco in tempo reale:
Per un'analisi più dettagliata dello spazio su disco o delle statistiche sulle risorse per un determinato periodo di tempo, è necessario selezionare la voce di menu appropriata. Le informazioni sui dischi virtuali vengono visualizzate in questo formato:
Le statistiche di carico per una risorsa specifica vengono visualizzate sotto forma di un grafico utile:
È possibile visualizzare un grafico di carico per un giorno, una settimana, un mese, un anno o selezionare manualmente le date necessarie. Vengono visualizzate tutte le risorse principali: processore, RAM, storage, interfaccia di rete.
Molti utenti si aspettano che le risorse vengano utilizzate in modo uniforme per un certo periodo di tempo. Tuttavia, non è sempre così. Ad esempio, l'interfaccia di rete potrebbe apparire simile anche in modalità inattiva:
In questo caso non sono richieste misure. Tuttavia, nel caso di un processore, RAM o storage su disco, il server non dovrebbe utilizzare il 100% delle sue risorse su base costante; il carico consigliato non è superiore al 70%.
Controllo delle risorse del server nel terminale
Analisi del carico totale
Nell'articolo "Diagnostica generale delle risorse del server" abbiamo già esaminato alcune opzioni di analisi . In quell'articolo abbiamo parlato di strumenti standard come top/atop e abbiamo anche visto come installare e configurare l' utility Netdata , che ci permette di monitorare le risorse del server tramite browser. In questo articolo esamineremo htop come alternativa all'utility top per l'analisi generale delle risorse di sistema.
Lo strumento non è preinstallato di default nelle distribuzioni Linux, quindi iniziamo con l'installazione. Per Debian/Ubuntu usiamo il comando:
apt-get install htop
Per CentOS, è più opportuno utilizzare i repository EPEL . Sono disabilitati per impostazione predefinita, quindi il primo comando serve ad aggiungerli, mentre il secondo serve per installare htop :
yum -y install epel-release
yum install htop -y
Subito dopo l'installazione, è possibile aprire l'utilità dal menu dell'applicazione o nel terminale con il comando appropriato:
htop
Di conseguenza, l'utente potrà vedere tutte le informazioni sul sistema:
L'angolo in alto a sinistra mostra i dati del processore, incluso l'uso di ogni core, RAM e memoria di swap. La memoria di swap in Linux viene usata in caso di carenza di RAM, assicurando la stabilità del sistema. Nell'angolo in alto a destra puoi vedere il carico del processore e il numero di task attivi. La parte centrale mostra i processi attivi con la possibilità di ordinare. La parte inferiore fornisce informazioni sui tasti di scelta rapida e sulle funzionalità. La sezione "Aiuto" contiene una descrizione dettagliata delle capacità del programma:
Prima di diagnosticare il sistema, è necessario capire esattamente quanti core/processori vengono utilizzati sul server. L'utente può trovare questo valore nell'angolo in alto a sinistra dell'utility htop :
Oppure eseguendo il comando:
nproc
In base al valore ottenuto, verrà calcolato il carico totale ammissibile (Carico medio nell'angolo in alto a destra). Nel nostro caso è uguale a 2, il che significa che il carico massimo è 2.0. Tuttavia, ciò non significa che il sistema si bloccherà completamente sotto carico 2.0. Questo numero potrebbe essere più alto, ma in questo caso, tutte le altre attività saranno in coda e il server stesso verrà caricato. Il valore ideale è considerato un carico non superiore al 70%. Ad esempio, il carico medio dovrebbe essere entro 0.7 su un server a processore singolo. Nel caso del server nell'esempio sopra menzionato, un buon indicatore sarebbe valori non superiori a 1.4.
Utilizzando htop o programmi analoghi, l'utente deve valutare le risorse principali: carico medio del processore, utilizzo della RAM, spazio su disco e interfaccia di rete. Se le risorse sono minime, è necessario ordinare i processi in base all'utilizzo della CPU, identificare le operazioni che consumano più risorse e quindi ottimizzarle o terminarle. Se non è possibile chiudere il programma o l'ottimizzazione fallisce, si consiglia di valutare il passaggio a un server con una configurazione più potente.
Controllo della RAM libera
In questa sezione esamineremo più da vicino un aspetto importante del funzionamento di qualsiasi server: un livello sufficiente di RAM libera.
Il modo più semplice per controllare la RAM libera su qualsiasi sistema Linux tramite il terminale è il comando:
free -m
In output otteniamo i seguenti dati in megabyte: RAM totale, utilizzata, libera e memorizzata nella cache, nonché volume di swap:
Questo strumento è utile per ottenere dati generali in un momento specifico. Per la diagnostica dinamica dell'utilizzo della RAM, consigliamo l' utility vmstat , che permette di configurare la frequenza di aggiornamento delle informazioni visualizzate.
vmstat 1
Nell'esempio precedente, i dati verranno aggiornati ogni secondo. L'output viene prodotto in un formato simile a quello di free :
Lo strumento fornisce anche informazioni generali sul sistema, ma nel nostro caso sono importanti solo le colonne responsabili della RAM, ovvero memoria e swap. Tutti i valori sono indicati in kilobyte. Diamo un'occhiata più in dettaglio:
Memoria (RAM):
- lotto: memoria virtuale scambiata con fisica.
- gratuita: memoria fisica disponibile (RAM).
- pelle di bufalo: memoria utilizzata come buffer prima della scrittura sul disco.
- nascondiglio: memoria utilizzata come cache per velocizzare l'accesso.
scambiare
- si: memoria utilizzata come cache per velocizzare l'accesso.
- so: dati scritti dalla memoria fisica alla memoria di swap.
Separatamente, vale la pena menzionare il fatto che tutte le utilità di diagnosi delle risorse di sistema inizialmente prendono i dati dai log. Nel caso della RAM, l'utente sarà in grado di visualizzare i dati direttamente aprendo il file corrispondente:
cat /proc/meminfo
L'output è piuttosto esteso, ma è sufficiente prestare attenzione ai primi record per analizzare la memoria:
I problemi con un utilizzo eccessivo di RAM sono spesso correlati a un'attività o a un processo specifico. All'inizio, sarà sufficiente una diagnostica tramite strumenti comuni per identificare i processi problematici. Come soluzione, potresti prendere in considerazione l'ottimizzazione di un'applicazione specifica, l'abilitazione della memorizzazione nella cache e della compressione dei dati se stiamo parlando di grandi quantità di informazioni o l'aumento della configurazione del server.
Controllo dello spazio su disco
La diagnostica dello spazio su disco del server non è meno importante delle altre risorse. Di norma, i segnali della necessità di controllo sono: l'impossibilità di creare o scrivere su file esistenti, prestazioni di sistema lente e vari errori di input/output.
Il modo più comodo per controllare è il comando:
df -h
In risposta, lo strumento mostrerà informazioni su tutte le partizioni del disco montate:
È possibile utilizzare questo comando per un monitoraggio più dettagliato delle directory:
du -hs /*
In questo modo, l'utente sarà in grado di scoprire quanto spazio occupa ogni directory. Per ripristinare le prestazioni del sistema, sarà necessario ottimizzare la partizione del disco che consuma la maggior quantità di memoria. Si consiglia di non consentire l'utilizzo di più dell'80-90% dello spazio libero della quantità totale; il restante 10-20% dovrebbe essere sufficiente per un funzionamento stabile del sistema. Si consiglia di aumentare lo spazio su disco se l'ottimizzazione non è possibile. Ciò può essere eseguito aggiungendo nuovi dischi o espandendo quelli esistenti, nonché utilizzando l'archiviazione cloud. Indipendentemente dalla soluzione scelta, si consiglia di effettuare sempre una copia di backup per evitare la perdita di file.
Controllo dell'interfaccia di rete
L'ultimo, ma non meno importante aspetto della diagnostica del server è il controllo dell'interfaccia di rete. nehogs L'utilità può essere utilizzata se si desidera ottenere informazioni generali sulla quantità di traffico gestita dai processi di rete in tempo reale.
Installazione e avvio su Cent OS:
yum install nethogs
nethogs
Per Debian/Ubuntu:
apt-get install nethogs
nethogs
Lo strumento mostrerà i processi che stanno utilizzando risorse di rete in questo momento:
Raccomandiamo l'uso se superiore per un'analisi più dettagliata.
Installazione e avvio su Cent OS:
yum install iftop
iftop
Per Debian/Ubuntu:
apt-get install iftop
iftop
L'output del programma è un elenco di connessioni attive che indica indirizzi IP, porte, quantità di dati trasferiti e velocità di trasferimento. Il vantaggio principale del programma è il design visivo del caricamento del canale di rete:
Dopo aver diagnosticato il canale di rete del server e identificato i problemi con carico elevato, si consiglia di aumentare la larghezza di banda delle connessioni di rete sul lato del provider di hosting o di ottimizzare le impostazioni dell'interfaccia problematica specifica. Come strumento di backup, è possibile utilizzare vari sistemi di monitoraggio per tracciare rapidamente i cambiamenti nell'attività di rete e, se necessario, aggiornare regolarmente l'infrastruttura di rete in base ai requisiti.
Conclusione
In conclusione, si può sottolineare che la diagnosi delle risorse del server è parte integrante di una gestione efficace dei server virtuali e dedicati . L'articolo ci ha offerto la possibilità di esaminare i principali strumenti per un'analisi completa del server e ha fornito anche consigli pratici per la risoluzione di possibili problemi. Una diagnostica di sistema regolare consente al server di funzionare senza intoppi, anche in assenza di un intervento attivo da parte dell'utente.