L'assicurazione della qualità richiede una combinazione di misure proattive e protocolli reattivi efficienti. Con il giusto equilibrio, puoi offrire agli utenti un servizio eccellente e funzionalità su un server disponibile tutto l'anno. L'unico modo per raggiungere tale equilibrio è identificare le metriche di monitoraggio server più rilevanti.
Ma quali potrebbero essere? Dipende dagli attributi desiderati, inclusi quelli delineati nel Modello di Maturità della Qualità e dagli obiettivi di monitoraggio. Tuttavia, ci sono alcune metriche di salute e prestazione che gli ingegneri QA dovrebbero sempre monitorare, indipendentemente dal contesto.
Scegliendo fin dall'inizio le metriche di monitoraggio server ideali, puoi sviluppare una linea base delle prestazioni da utilizzare come riferimento quando inevitabilmente sorgono problemi di salute e prestazioni.
In questa breve guida, analizzeremo perché dovresti tenere traccia di queste metriche chiave. Inoltre, otterrai ulteriori approfondimenti sulla loro rilevanza e su come monitorarle.
1. Utilizzo della CPU
Una delle principali motivazioni per il monitoraggio dei server è tenere sotto controllo la salute dell'infrastruttura e le prestazioni di base del server. Un aspetto fondamentale di ciò è la diagnosi proattiva e la mitigazione dei potenziali problemi di prestazione. La misurazione dell’utilizzo della CPU e del disco è centrale per questi sforzi. Per questo, l'utilizzo della CPU è una delle metriche di prestazione più fondamentali e comunemente monitorate.
Questa metrica è considerata “basata sull’host,” poiché tiene traccia della capacità di una singola macchina di funzionare e rimanere stabile. Detto ciò, il monitoraggio dell’utilizzo della CPU richiederà una combinazione di monitoraggio passivo e attivo. Quest’ultimo è particolarmente utile per test di carico controllati, mentre il primo raccoglie misurazioni sul target durante il traffico reale.
Come misurare l’utilizzo della CPU
Prima di iniziare, dovrai:
- Selezionare i particolari drive che vuoi monitorare.
- Determinare dove sono collocati questi drive.
- Assicurarti che il tuo data collector abbia accesso ai processi del tuo computer.
Una volta impostato tutto, dovrai determinare la frequenza di campionamento con cui desideri monitorare queste metriche. Ad esempio, potresti misurare l’utilizzo della CPU ogni 30 secondi o ogni minuto.
Ci sono diversi modi per monitorare l’utilizzo della CPU, come usare il task manager o un comando come wmic CPU get load percentage nei sistemi Windows. Tuttavia, se stai cercando una panoramica generale del server, è meglio visualizzare questi dati su una dashboard.
Ricorda: Le prestazioni della CPU sono influenzate dalle condizioni hardware, come la temperatura della CPU e la velocità delle ventole. Potresti voler monitorare questi fattori insieme all’utilizzo (espresso come percentuale) in questi due stati, ignorando il tempo inattivo.
Due aspetti chiave che dovresti monitorare attentamente sono Privileged Time e User Time, poiché la loro somma fornirà il Processor Time, ciascuno definito come segue:
- Privileged Time: Percentuale di tempo che i processori utilizzano per eseguire processi non utente (cioè, processi kernel)
- User Time: Percentuale di tempo che i processori utilizzano per eseguire processi utente (es. command shell, server email, compilatore)
- Processor Time: Quantità totale di tempo in cui la CPU è stata occupata
Tieni presente che superare il 100% non significa sempre che un sistema sia sovraccarico. Ad esempio, se hai un sistema multiprocessore, questo significa solo che la somma delle due o più CPU è superiore al 100% (es. 50% e 60%). Controlla le prestazioni individuali per mantenere la salute del sistema.
Insieme all’utilizzo di CPU e disco, anche le attese sono considerate elementi essenziali nel monitoraggio della salute e delle prestazioni dell’infrastruttura.
Attese
Le attese ti aiutano a capire con quanta efficienza vengono eseguiti i compiti e ti avvertono di possibili colli di bottiglia. Tuttavia, conoscere solo le attese non è sufficiente. Dovrai fare ulteriori analisi per identificare il reale problema di prestazione.
Le attese elevate sono accettabili in casi isolati perché potresti avere compiti intensivi in esecuzione, ma fenomeni persistenti sono solitamente un segnale di allarme.
2. Uptime del server
Il tuo server è inutile se non è disponibile agli utenti. Pertanto, monitorare l’uptime del server è imprescindibile. Ogni volta che la disponibilità del server scende sotto il 99,999% (lo standard noto come “cinque nove”), hai un problema serio da risolvere.
Utilizza le formule qui sotto per ricavare informazioni comprensibili e utili dalle tue operazioni di monitoraggio.
Come misurare l’uptime del server
Ecco alcuni concetti chiave da conoscere quando si monitora l’uptime del server:
- Uptime: La quantità di tempo in cui il tuo servizio o applicazione è attivo e disponibile per gli utenti. Formula: (Tempo totale - Tempo di inattività)/Tempo totale
- Tempo medio tra i guasti (MTBF): Il tempo medio che separa gli incidenti di downtime. Formula: (Tempo totale - Tempo di inattività)/Numero di incidenti di downtime
- Tempo medio di risoluzione (MTTR): La quantità media di tempo necessaria per risolvere un guasto. Formula: Tempo totale di inattività/Numero di incidenti di downtime
- Tempo medio di presa in carico (MTTA): La quantità media di tempo necessaria per riconoscere un guasto in corso. Formula: Tempo totale per la presa in carico/Numero di incidenti di downtime
Tutte queste metriche aiutano a sviluppare una visione d’insieme che illustra l’affidabilità della tua infrastruttura e la reattività del tuo team.
Quindi, ad esempio, avere valori sani di MTTR e MTTA è positivo. Ma se hai anche un MTBF elevato, dovrai indagare ulteriormente sulle cause principali dell'inattività del server. Altrimenti, l’azienda rischia comunque perdite finanziarie significative e una perdita di fiducia da parte degli utenti.

In definitiva, devi puntare al “five nines”, mantenendo il downtime a un massimo di circa cinque minuti all’anno. Il software di monitoraggio server Grafana e Prometheus sono entrambi ampiamente consigliati come strumenti intuitivi e facilmente accessibili per questo aspetto del monitoraggio delle prestazioni.
3. Transazioni (e tassi di errore)
Hai bisogno di comprendere chiaramente quanto traffico supporta la tua infrastruttura in ogni momento. Quindi, è essenziale tenere d’occhio le transazioni—ovvero il numero di richieste per secondo—e il corrispondente tempo medio di risposta. Queste informazioni possono aiutarti a determinare le risorse e la capacità necessarie per mantenere il server efficiente.
Allo stesso tempo, monitorare il tasso di errore, ovvero la percentuale di richieste fallite rispetto al totale ricevuto, può offrire ulteriori spunti sulla capacità di carico del servizio. Per ottenere il massimo da questa metrica, è preferibile sviluppare una baseline nel tempo tramite il monitoraggio passivo.
Questo è cruciale per la tua capacità di monitorare le tendenze. Se puoi analizzare a posteriori la capacità massima e le risorse necessarie per il funzionamento regolare, potrai agire in modo proattivo per allocare tali risorse e individuare problemi di infrastruttura, riducendo i tassi di errore e ottimizzando il tempo medio di risposta.
Come monitorare transazioni e tassi di errore
I seguenti sono strumenti affidabili per tecniche di monitoraggio passivo delle prestazioni:
- Sniffer: Questi sono progettati per raccogliere misurazioni a livello “microscopico” mediante “intercettazione” del traffico sulle reti cablate e wireless. Wireshark è uno degli standard più ampiamente riconosciuti, raccogliendo dati su attributi come timestamp, indirizzi MAC e IP, time to live e altro ancora. Possono essere utilizzati sia online che offline.
- Strutture di logging: Solitamente integrate nei sistemi operativi e nelle applicazioni, raccolgono principalmente informazioni sulle attività e gli eventi generati dalle applicazioni per un utilizzo offline.
Uno dei dieci migliori strumenti di monitoraggio server web particolarmente adatto al monitoraggio delle transazioni è Monitis. Si tratta di un sistema di monitoraggio tutto-in-uno per server, siti web e applicazioni. È adatto sia per sistemi Windows che Linux ed è ideale per coprire le basi, compreso l’uptime.
L’obiettivo e lo scopo dei monitoraggi influenzeranno le misurazioni precise e l'uso di queste tecniche.
Altre metriche da monitorare con le transazioni
Il tempo di risposta e il numero totale di thread sono direttamente collegati alle transazioni. Ti indicheranno quanto il server impiega a rispondere a una richiesta e il numero di thread (che rendono possibili le transazioni) utilizzati per gestire tutte queste richieste.
Ogni thread consuma tempo CPU e RAM. Un numero eccessivo può portare a prestazioni inferiori alla norma. Ci sono diversi aspetti da monitorare, tra cui:
- Il numero totale di thread in un server web o in un pool container, inclusi questi tipi:
- Attivi
- Inattivi
- Bloccati
- In standby
- Richieste utenti in sospeso e lunghezza della coda
Il tempo di risposta del server può essere generalmente misurato come Time to First Byte (TTFB). Questo rappresenta il numero di millisecondi impiegati da un browser per ricevere il primo byte della risposta del server. In generale, qualsiasi valore superiore ai cinque secondi è critico.
Scegliere i Giusti Indicatori per il Monitoraggio delle Prestazioni del Server
Esiste un lungo elenco di indicatori che si possono monitorare per seguire la salute e le prestazioni del server, ma i parametri specifici dipendono principalmente dall'obiettivo delle attività di monitoraggio.
Alcuni sono più utili per ottenere informazioni sulla capacità di carico dell’hardware e del sistema operativo, mentre altri sono ideali per osservare l’attività degli utenti. In ogni caso, CPU, uptime e transazioni sono elementi fondamentali da non trascurare.
Man mano che avanzate come QA lead e i vostri obiettivi inevitabilmente cambiano, senza dubbio aggiungerete ulteriori metriche di monitoraggio del server alla vostra dashboard. Per ulteriori approfondimenti su quali scegliere e come gestirle, iscrivetevi alla newsletter.
