Ci sono diverse metriche tra cui scegliere, ma consigliamo di concentrarsi su queste otto per ottenere i massimi vantaggi all'interno della tua organizzazione IT.
1. Punteggi Apdex e SLA
Cominciamo con i punteggi dell'indice di prestazioni dell'applicazione (Apdex) e dell'accordo di livello di servizio (SLA), poiché sono alla base di un'esperienza del cliente superiore. Le velocità e gli avanzamenti che misurerai sono gli aspetti specifici che contribuiscono a ottenere prestazioni rapide, ma sono il mezzo, non il fine. Il tuo obiettivo è avere clienti soddisfatti che, auspicabilmente, portino a un aumento delle vendite.
I punteggi Apdex e SLA sono il modo più popolare per visualizzare il monitoraggio dell'esperienza degli utenti finali. Il punteggio Apdex tiene traccia delle prestazioni relative di un'app specificando un obiettivo per il tempo normalmente richiesto da una richiesta o transazione web. Gli SLA sono le metriche nel contratto con il cliente, e qualsiasi valore inferiore allo SLA definito rischia di impoverire l'esperienza cliente (e di portare a sanzioni predefinite).
2. Disponibilità delle applicazioni (nota anche come tempo di attività o monitoraggio delle prestazioni)
Questa è la metrica più elementare: le luci sono accese? In parole povere, stai monitorando e misurando se la tua applicazione è online e disponibile. La maggior parte delle aziende la utilizza per misurare la conformità agli accordi sul livello di servizio (SLA). Il tempo di attività è spesso un'abbreviazione per valutare l'affidabilità e lo stato di salute complessivo del sistema. I tempi di inattività eccessivi possono influire negativamente sulla soddisfazione degli utenti per le organizzazioni che forniscono servizi online. Per un'applicazione web, puoi verificare la disponibilità con un semplice controllo HTTP programmato regolarmente.
3. Utilizzo della CPU (noto anche come utilizzo delle risorse)
Un'alta percentuale di capacità della CPU utilizzata da un'applicazione può essere un segno di un problema di prestazioni. Un picco improvviso nell'utilizzo della CPU può comportare tempi di risposta più lenti. Le fluttuazioni della domanda di un'app potrebbero anche indicare che è necessario aggiungere più istanze. Una regola generale è che se l'utilizzo della CPU supera il 70% più del 30% delle volte, potresti esaurire presto la capacità della CPU.
L'utilizzo delle risorse include anche l'utilizzo della memoria e del disco. Il monitoraggio della RAM aiuta a identificare le perdite di memoria che potrebbero portare a guasti o a maggiore necessità di memoria. Le metriche sull'utilizzo del disco possono aiutare a prevenire che un'app esaurisca lo storage, il che potrebbe causarne il fallimento. L'elevato utilizzo del disco potrebbe anche essere un segno di data storage inefficiente o di politiche di conservazione dei dati difettose.
4. Tassi di errore
Il tuo software di metriche APM deve monitorare le applicazioni per registrare la percentuale di richieste che comportano errori. Questo aiuta a identificare e dare priorità alla risoluzione dei problemi che influiscono sull'esperienza utente. Gli errori dell'applicazione possono includere errori del server, risposte 404 o timeout in un'app web. È possibile configurare la soluzione APM in modo che invii notifiche quando un tasso di errore supera un parametro impostato. Ad esempio, invia un avviso quando il 2,5% delle 25 richieste precedenti ha generato un errore.
5. Garbage collection
La Garbage Collection (GC) può migliorare le prestazioni identificando ed eliminando l'utilizzo continuo e intensivo della memoria Java o di altri linguaggi. La buona notizia è che l'automazione GC recupera la memoria dedicata a oggetti o dati inutilizzati o ridondanti che non vengono più utilizzati da un'applicazione. Gli oggetti o i dati non utilizzati vengono eliminati, e gli oggetti attivi vengono copiati in un pool di memoria di generazione successiva. Questa è una metrica da tenere a metà strada. Se la GC viene eseguita troppo spesso, potrebbe richiedere un sovraccarico eccessivo, ma se non viene eseguita abbastanza spesso, il tuo sistema potrebbe rimanere a corto di memoria.
6. Numero di istanze
Il monitoraggio delle istanze ti consente di scalare la tua applicazione per soddisfare la domanda reale degli utenti, in base al numero di istanze dell'app o del server in esecuzione in qualsiasi momento. Questo può essere particolarmente importante per le applicazioni cloud. L'auto-scaling aiuta a garantire che le applicazioni moderne siano scalabili per soddisfare la domanda e a risparmiare sul budget durante le ore non di punta. Ciò può anche creare sfide di monitoraggio dell'infrastruttura. Ad esempio, se la tua app aumenta automaticamente l'utilizzo della CPU, potresti non vedere mai aumentare l'utilizzo della CPU, ma invece vedere il numero di istanze del server aumentare esageratamente (insieme alla sua fattura di hosting).
7. Richiedi tariffe
Puoi misurare il traffico ricevuto da un'applicazione per identificare eventuali cali, aumenti o coincidenze di utenti significativi. Correlare i tassi di richiesta con altre metriche delle prestazioni delle applicazioni ti aiuterà a comprendere la scalabilità delle tue applicazioni software. Il software APM può anche monitorare il traffico per identificare le anomalie. Se il monitoraggio degli utenti mostra un aumento inaspettato delle richieste, potrebbe essere in corso un attacco DoS (Denial-of-Service). Un numero elevato di richieste da parte dello stesso utente potrebbe essere indicativo di un account hackerato. Anche un numero di richieste insolitamente basso potrebbe essere indice di un problema: l'inattività o l'assenza di traffico potrebbero significare un potenziale guasto a diverse parti del sistema.
8. Tempi di risposta (noti anche come durata)
Monitorando il tempo medio di risposta a una richiesta, ovvero il tempo impiegato da un'applicazione per restituire una richiesta di risorse, può valutare le prestazioni dell'app. Queste richieste possono includere transazioni avviate dagli utenti finali, come una richiesta di caricamento di una pagina web, o includere richieste interne da una parte all'altra della tua applicazione, come un processo o un microservizio che richiede dati dal disco o dalla memoria. Il tempo di risposta totale include il tempo di risposta del server (il tempo impiegato dal server per elaborare una richiesta) più la latenza di rete (il tempo totale impiegato dalla richiesta per spostarsi attraverso la rete).
Una metrica correlata è il tempo di caricamento della pagina, che misura il tempo impiegato da una pagina web per caricarsi in un browser. Il monitoraggio dei tempi di caricamento delle pagine consente agli strumenti di monitoraggio delle prestazioni delle tue applicazioni di identificare i problemi che causano il caricamento lento delle pagine e quindi di migliorare l'esperienza digitale. Un caricamento lento delle pagine può comportare l'abbandono della pagina e la perdita di affari. Le soluzioni APM possono essere impostate per stabilire una baseline delle prestazioni per questa metrica e avvisarti quando il benchmark non viene raggiunto.