Lo strumento APM (Application Performance Monitoring) di Kinsta vi aiuta a identificare i colli di bottiglia delle prestazioni di PHP sul vostro sito WordPress senza dovervi iscrivere a servizi di monitoraggio di terze parti come New Relic.

Disponibile senza costi aggiuntivi in tutti i piani, lo strumento APM può essere davvero utile quando si tratta di effettuare una diagnosi dei problemi del vostro sito web. Lo strumento APM è progettato per catturare le informazioni in timestamp sui processi PHP del vostro sito WordPress, sulle query del database MySQL, sulle chiamate HTTP esterne e altro ancora.

Con i dati APM, potete approfondire specifici caricamenti di pagina lenti per identificare la causa principale del problema. Per maggiori dettagli sulla risoluzione dei problemi di prestazioni su tipi specifici di siti usando lo strumento APM, consulta queste guide:

Tenete presente che lo strumento APM di Kinsta è stato progettato specificamente per aiutarvi a monitorare i siti WordPress, quindi utilizzarlo per monitorare un sito basato su un altro CMS o su un diverso framework può portare a risultati imprecisi. Pertanto, consigliamo di utilizzarlo solo per i siti WordPress.

Terminologia dello Strumento APM

Prima di addentrarci nell’utilizzo dello strumento APM, definiamo alcuni termini importanti che verranno utilizzati in seguito.

APM

APM, abbreviazione di “Application Performance Monitoring”, è uno strumento che vi offre approfondimenti sui dati statistici e sull’andamento delle prestazioni di un’applicazione. Lo strumento APM di Kinsta vi fornisce i dati concreti sulle prestazioni del vostro sito WordPress.

Richiesta

All’interno dello strumento APM, una richiesta indica una visita al vostro sito WordPress che per il rendering richiede l’esecuzione di PHP. L’URL di una richiesta può includere vari parametri di query string e avvia una corrispondente transazione.

Ad esempio, una richiesta a yourdomain.com/wp-cron.php?arg=1&arg2=2 farebbe scattare una transazione /wp-cron.php.

Transazione

Una transazione si riferisce all’attività di backend che avviene per servire una richiesta al vostro sito WordPress. Ad esempio, la transazione per una richiesta a /wp-login.php contiene i singoli processi PHP che generano la pagina di login del vostro sito WordPress.

Intervallo

Un intervallo si riferisce a un singolo processo in una transazione. Una singola transazione può consistere di centinaia di intervalli ordinati cronologicamente.

Ad esempio, una transazione che genera la pagina di un account per un cliente WooCommerce può consistere di un intervallo che si suddivide in più intervalli relativi a query del database.

Campione di Transazioni

Un campione di transazioni si riferisce ad un’istanza selezionata tra le molte richieste ad uno specifico endpoint di transazione (ad es. /single.php, /wp-cron.php, ecc.). Nello strumento APM, avrete tre campioni tra cui scegliere.

Ad esempio, lo strumento APM può registrare decine di transazioni /wp-cron.php. In questo caso, lo strumento APM sceglierà la transazione più lenta e la chiamerà campione di transazioni.

Transaction Trace

Una Transaction Trace è una linea temporale completa di tutti i processi che si sono verificati in un campione di transazioni. Nel nostro strumento APM, una Transaction Trace è rappresentata da un elenco di intervalli di tempo con la corrispondente durata e le informazioni di timestamp.

Cronologia della traccia della transazione per un campione di transazione.
Cronologia della traccia della transazione per un campione di transazione.

Stack Trace

Una Stack Trace è un’analisi dettagliata del processo per un singolo campione. Le Stack Trace sono utili per effettuare un debug approfondito. Contengono informazioni molto dettagliate sul codice PHP che è stato eseguito, fino ad un file PHP specifico e ad una specifica riga di codice.

Una stack trace per un campione.
Una stack trace per un campione.

Come Abilitare lo Strumento Kinsta APM

Di default, lo strumento APM è disabilitato. Dato che questo influisce sulle prestazioni del sito, consigliamo di abilitarlo solo quando state attivamente analizzando un problema di prestazioni sul vostro sito WordPress.

Per abilitare lo strumento APM, accedete al MyKinsta, scegliete il sito che volete monitorare, navigate alla pagina APM del sito e fate clic sul pulsante Abilita APM.

Fare clic sul pulsante Abilita APM per abilitare il monitoraggio delle prestazioni delle applicazioni in MyKinsta.
Fare clic sul pulsante Abilita APM per abilitare il monitoraggio delle prestazioni delle applicazioni in MyKinsta.

Successivamente, selezionate una durata del monitoraggio per APM. Potete scegliere tra 2 ore, 4 ore, 12 ore e 24 ore. Poiché APM può ridurre le prestazioni del vostro sito, non consigliamo di lasciarlo attivato per un periodo di tempo prolungato. Una volta selezionata la durata del monitoraggio, fate clic su Abilita tempo di monitoraggio per avviare Kinsta APM.

Selezionate il tempo di monitoraggio di APM di Kinsta e abilitatelo.
Selezionate il tempo di monitoraggio di APM e abilitatelo.

Date allo strumento 5-10 minuti per iniziare a raccogliere i dati e poi potete visualizzarli nella scheda APM.

Dopo che la durata del monitoraggio è passata, APM sarà disattivato automaticamente. Se desiderate disattivare il monitoraggio in anticipo, fate clic sul menu kebab (i tre puntini) e selezionate Disattiva dal menu a discesa.

Disattivare il monitoraggio delle prestazioni dell'applicazione in MyKinsta.
Disattivare il monitoraggio delle prestazioni dell’applicazione in MyKinsta.

Come selezionare un intervallo di tempo dei dati di monitoraggio

Per impostazione predefinita, lo strumento APM mostra i dati di monitoraggio degli ultimi 60 minuti. Tuttavia, il lasso di tempo dei dati è personalizzabile, e potete scegliere tra le opzioni seguenti.

  • 30 minuti
  • 60 minuti
  • 2 ore
  • 4 ore
  • 12 ore
  • 24 ore

Per modificare l’impostazione, fare clic sul pulsante dell’intervallo di tempo in alto a destra nella pagina APM e selezionare un’opzione nella finestra modale/pop-up visualizzata. Fare clic sul pulsante Applica l’intervallo di tempo per impostare il nuovo intervallo.

Cambia il lasso di tempo dei dati di monitoraggio di APM.
Cambia il lasso di tempo dei dati di monitoraggio di APM.

Come aggiornare i dati di monitoraggio

Lo strumento APM di Kinsta visualizza i dati di monitoraggio delle prestazioni in base al periodo di tempo impostato (ad es. ultimi 30 minuti, ultimi 60 minuti, ecc.). Per evitare confusione, lo strumento APM non aggiorna automaticamente i dati. Per aggiornare lo strumento APM e visualizzare i dati più recenti dell’intervallo di tempo selezionato, fare clic sull’icona di aggiornamento (redo) accanto al pulsante dell’intervallo di tempo.

Fare clic sull'icona di aggiornamento (redo) per aggiornare i dati di monitoraggio dell'APM di Kinsta.
Fare clic sull’icona di aggiornamento (redo) per aggiornare i dati di monitoraggio dell’APM di Kinsta.

Come Leggere le Informazioni dello Strumento APM

Poiché la registrazione dei dati inizia solo dopo l’abilitazione dello strumento APM, dovrete dargli un po’ di tempo perché raccolga i dati sulle prestazioni del vostro sito. Consigliamo di attendere 5-10 minuti prima di ispezionare i dati del monitoraggio.

Successivamente, le informazioni chiave possono essere trovate nelle schede TransazioniWordPressDatabase ed Esterno, che analizzeremo in dettaglio qui di seguito.

Dati dell'APM di Kinsta: Transazioni, WordPress, Database ed Esterno.
Dati dell’APM di Kinsta: Transazioni, WordPress, Database ed Esterno.

Dopo di che, ecco alcuni punti importanti da tenere d’occhio.

  1. Durata Totale (%): La percentuale di tempo, relativa alla Durata totale, consumata da tutte le richieste a un endpoint di transazione nell’arco di tempo selezionato. La percentuale di durata viene calcolata con i valori di Durata totale (che è la somma della durata di tutte le richieste a un determinato endpoint), quindi non rappresenta la durata di un singolo campione di transazioni.
  2. Durata Totale: la quantità totale di tempo consumata da un endpoint di transazione entro l’intervallo di tempo selezionato. Si noti che la durata si riferisce alla somma della durata di tutte le richieste a un particolare endpoint e non rappresenta la durata di un singolo campione di transazioni.
  3. Durata Massima: la durata del campione di transazioni più lenta nell’intervallo di tempo selezionato.
  4. Durata Media: la media di tutte le durate del campione di transazioni dell’intervallo di tempo selezionato.
  5. Tasso Per Min: il numero di volte che una transazione è stata eseguita in media al minuto nell’arco di tempo selezionato.

Mentre navigate tra i dati, vedrete anche questi dettagli di dati comuni:

Campione di Transazioni

Se cliccate su una transazione, vi verrà presentato una finestra modale contenente fino a tre campioni di transazione dell’intervallo di tempo selezionato.

  1. Campione più Lento – il campione di transazioni più lento.
  2. 95° Percentile – una transazione nel 95° percentile (il 95% delle transazioni è più veloce di questo campione di transazioni).
  3. 50° Percentile – una transazione nel 50° percentile (il 50% delle transazioni è più veloce di questo campione di transazioni), detta anche mediana. Si può pensare a questa come alla durata tipica in quanto ci sono esattamente la stessa quantità di campioni più lenti e più veloci di questo.
La finestra modale del campione di transazioni nello strumento APM.
La finestra modale del campione di transazioni nello strumento APM.

Potreste vedere uno, due o tre campioni. Per esempio, la stessa transazione può essere il campione più lento e la transazione al 95° percentile.

Il modale Campioni di Transazioni mostra anche informazioni utili su ogni campione di transazioni, tra cui il timestamp, l’endpoint della transazione, l’URL della richiesta e la durata.

Esempio di transazione individuale

Se fate clic su un campione di transazioni nel modale, sarete portati su una pagina dedicata al campione selezionato. Questa pagina Campione di Transazioni include il timestamp del campione, l’endpoint delle transazioni, l’URL, la durata, il codice di stato HTTP e una linea temporale completa per la tracciabilità delle transazioni.

Transazione con sequenza temporale della traccia in APM di Kinsta.
Transazione con sequenza temporale della traccia in APM di Kinsta.
  1. Timestamp: la data e l’ora del campione di transazioni.
  2. Transazione: l’endpoint PHP del campione di transazioni (ad es. /wp-cron.php, /single.php, ecc.).
  3. URL: l’URL specifico del campione di transazioni.
  4. Duration: la durata del campione di transazioni in millisecondi.
  5. Result: il codice di stato HTTP della transazione. Se vedete un risultato “HTTP 200”, significa che la transazione è stata lenta, ma alla fine ha avuto successo. Comunque, se vedete un risultato “HTTP 503”, potrebbe significare che la transazione è scaduta.

Ogni campione di transazioni ha il proprio permalink o URL unico. In questo modo è facile fare riferimento e condividere un campione di transazione specifico con i vostri colleghi o con il team di supporto Kinsta. Nota: i vostri colleghi o il team di sviluppo dovranno avere accesso al sito in MyKinsta per visualizzare l’esempio di transazione.

Permalink di un campione di transazioni.
Permalink di un campione di transazioni.

Timeline delle Tracce di Transazione

Oltre alle informazioni di base sulle transazioni, lo strumento APM fornisce anche una linea temporale più dettagliata delle tracce delle transazioni. All’interno della cronologia delle tracce delle transazioni, è possibile vedere una presentazione dettagliata degli intervalli – processi PHP, query MySQL del database e chiamate esterne per un particolare campione di transazioni.

Potete ordinare gli intervalli per Durata (tempo) o Durata (%) in ordine crescente o decrescente facendo clic sul nome della colonna. Ciò è utile per identificare rapidamente le transazioni più longeve.

Ogni intervallo ha inoltre associata la durata e il relativo timestamp, in modo da poter identificare rapidamente la parte più lunga e problematica della richiesta.

Relativamente alla durata totale del campione di transazioni:

  • Intervalli con durata superiore al 5% in arancione
  • Intervalli con durata superiore al 25% in rosso

Questi evidenze sono sempre riferite alla durata relativa dell’intervallo di tempo nel contesto del proprio campione. Quindi, se vedete qualcosa di rosso, tenete sempre conto del fatto che è sempre confrontato con quel dato campione (e il vostro sito o la vostra web app potrebbe non essere lento nel suo insieme come avreste potuto pensare).

Si noti che per le query MySQL e Redis non includiamo intervalli inferiori a 0,001 ms. Per gli intervalli non correlati ai dati, la soglia è di 1 ms. Escludiamo volutamente gli intervalli brevi perché la registrazione di un numero elevato di elementi veloci può influire sulle prestazioni del vostro sito e non fornisce dati molto utili.

Cronologia della traccia della transazione per un campione di transazione.
Cronologia della traccia della transazione per un campione di transazione.

Questa cronologia dettagliata delle tracce è molto utile per la risoluzione dei problemi di prestazione perché aiuta a individuare esattamente quale sia il collo di bottiglia.

Ad esempio, potreste notare che il /wp-admin/admin-ajax.php è causato da lunghe richieste API alle API dei social network. Forti di questa informazione, potete quindi continuare a testare il vostro sito disabilitando il vostro social plugin per vedere se questo fa la differenza.

Allo stesso modo, se vedete una transazione lenta a /wp-cron.php che contiene richieste HTTP ripetitive iniziate da un plugin di preloading della cache, potete agire rapidamente con queste informazioni e disabilitare la funzionalità di precaricamento della cache.

Dati Intervallo

Cliccando su un intervallo nella cronologia delle tracce di transazione, vedrete una panoramica dettagliata con uno stack trace completo e le informazioni associate.

Ad esempio, se fate clic su un intervallo di una query MySQL, vedrete la query del database che è stata eseguita insieme alla traccia dello stack. Controllando i dettagli dell’intervallo, potrete ottenere un livello di approfondimento maggiore sulle transazioni PHP del vostro sito WordPress.

Dettagli intervallo nella cronologia della tracce di transazione.
Dettagli intervallo nella cronologia della tracce di transazione.

Per esempi più specifici su come leggere e usare i dati dello strumento APM, date un’occhiata alla nostra guida sull’uso di APM di Kinsta per diagnosticare i problemi di prestazioni.

Risultati del monitoraggio

In ciascuna scheda della pagina APM è possibile visualizzare dati specifici per le TransazioniWordPressDatabase ed le richieste Esterne.

Transazioni

In questa scheda troverete i dati sul tempo di transazione complessivo e sulle transazioni più lente.

Tempo di Transazione Complessivo

Il grafico a barre Tempo di Transazione Complessivo fornisce una rappresentazione visiva dei dati relativi al tempo di transazione nell’intervallo di tempo selezionato. Ogni barra è costituita da un’analisi multicolore dei tempi di transazione PHP, MySQL, Redis e External. Il grafico del Tempo di Transazione Complessivo mostra anche il tempo di transazione medio dell’intervallo di tempo selezionato nell’angolo in alto a destra.

Grafico a barre del tempo di transazione complessivo di APM.
Grafico a barre del tempo di transazione complessivo di APM.

Transazioni più lente

Le prime dieci transazioni PHP più lente appariranno nella sezione Transazioni più lente sotto il grafico a barre del tempo di transazione complessivo. Oltre alle colonne comuni, la prima colonna di questi dati è la colonna Transazione, che mostra l’endpoint della transazione delle richieste lente che hanno consumato più tempo PHP (per esempio /wp-cron.php, /wp-json, ecc.).

Transazioni più lente nello strumento APM
Transazioni più lente nello strumento APM

È possibile fare clic su ciascun endpoint di transazione per visualizzare gli esempi di transazione e navigare ulteriormente in ogni singolo campione di transazione, tracciare la sequenza temporale, i dettagli dell’intervallo e la traccia dello stack.

WordPress

Nella scheda WordPress, troverete dati specifici per plugin e hook di WordPress.

Plugin WordPress più lenti

I plugin registrati come più lenti sono elencati in alto con lo slug (nome cartella/directory) del plugin nella prima colonna, quindi il resto delle colonne di dati comuni. Potete fare clic su ogni slug del plugin per visualizzare gli esempi di transazione e navigare ulteriormente in ogni singolo campione di transazione, tracciare la sequenza temporale, i dettagli dell’intervallo e la traccia dello stack.

Hook di WordPress più lenti

Nell’elenco dei plugin di WordPress più lenti, vedrete l’elenco degli hook di WordPress più lenti. Gli hook di WordPress sono funzioni in temi o plugin che consentono di modificare WordPress in punti specifici dell’elaborazione del codice.

Un hook è un’azione o un filtro e gli hook in questo elenco sono anteposti con il loro tipo (azione o filtro), seguito dal nome della funzione. Facendo clic su un hook verranno visualizzati gli esempi di transazione, e qui potete navigare ulteriormente in ogni singolo campione di transazione, tracciare la sequenza temporale, i dettagli dell’intervallo e la traccia dello stack.

Database

Questa scheda mostra i dati per le query al database più lente e per le transazioni cache Redis più lente (se Redis è abilitato).

Query database più lente

Le prime 10 query database più lente sono mostrate nella sezione Query database più lente. Facendo clic su una query verranno visualizzati gli esempi di transazione, in cui è possibile navigare ulteriormente in ogni singolo campione di transazione, tracciare la sequenza temporale, i dettagli dell’intervallo e la traccia dello stack.

Cache Redis più lenta

Per i siti con il componente aggiuntivo Redis, i dettagli relativi alla cache Redis possono essere trovati in questa sezione. Se sul vostro sito non è installato il componente aggiuntivo Redis, non verranno mostrati dati. Facendo clic su un elemento della cache verranno mostrati gli esempi di transazione, e qui potete navigare ulteriormente in ogni singolo campione di transazione, tracciare la sequenza temporale, i dettagli dell’intervallo e la traccia dello stack.

.

Esterne

I dati per qualsiasi richiesta esterna effettuata dal vostro sito si trovano nella scheda Esterne. Le richieste esterne sono richieste HTTP inviate dal vostro sito a un altro sito o server. Queste chiamate vengono generalmente effettuate da plugin o temi per il recupero o l’invio di dati o per la comunicazione con un’API.

Ciascun URL nella prima colonna dell’elenco è seguito dal metodo HTTP utilizzato per la richiesta (GET, POST, PUT, ecc.). Facendo clic sull’URL di una richiesta verranno visualizzati gli esempi di transazione, e qui potete navigare ulteriormente in ogni singolo campione di transazione, tracciare la sequenza temporale, i dettagli dell’intervallo e la traccia dello stack.

FAQ su APM

Abbiamo compilato alcune domande frequenti riguardanti APM e di seguito abbiamo fornito le risposte.

Come Si Abilita APM di Kinsta?

APM di Kinsta è disponibile senza costi aggiuntivi su tutti i piani. Per abilitarlo, è necessario:

  1. Accedete al vostro MyKinsta
  2. Seleziona il sito web su cui volete eseguire il debug
  3. Fate clic sulla scheda Monitoraggio
  4. Fate clic sul pulsante Abilita APM per avviare lo strumento APM

APM Rallenterà il Mio Sito WordPress?

Come avviene con altri strumenti APM, l’agent di APM di Kinsta potrebbe aggiungere carico alle risorse CPU e RAM del vostro server e potrebbe potenzialmente rallentare il vostro sito WordPress per un tempo limitato.

Consigliamo vivamente di abilitare APM solo quando si sta attivamente diagnosticando un problema di prestazioni sul sito.

Kinsta Supporta Ancora il Monitoraggio Personale di New Relic per i Clienti con Licenze New Relic Personali?

Sì, i siti Kinsta supportano ancora il monitoraggio di New Relic per i clienti con licenza personale.

È Possibile Utilizzare APM di Kinsta e New Relic Contemporaneamente?

Sconsigliamo di utilizzare contemporaneamente APM di Kinsta e New Relic per il monitoraggio. Tuttavia, va bene passare da APM e New Relic ma se entrambi gli strumenti non sono attivi contemporaneamente.

APM è Compatibile con Altre Piattaforme e Framework CMS?

Al momento, APM è pienamente compatibile solo con WordPress.

APM Funziona con Bedrock (o con Altri Siti che Usano Composer)?

Sì, ma se WP-CLI è una dipendenza nel file composer.json del vostro sito, dovrete aggiungere una configurazione in modo che l’autoloader di Kinsta possa lavorare insieme all’autoloader di WP-CLI:

"prepend-autoloader": false

Ecco un esempio di array di configurazione da un sito Bedrock dopo l’aggiunta della configurazione:

"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"prepend-autoloader": false
},

Cosa Succede se Vedo un Comportamento Inaspettato sul Mio Sito Dopo Aver Abilitato APM?

Abbiamo già effettuato test approfonditi con diverse versioni di WordPress e una lunga lista di plugin, tuttavia, ci possono ancora essere delle pieghe sconosciute da eliminare, come una versione di un plugin o qualche sviluppo personalizzato incompatibile con la nostra soluzione di monitoraggio.

Per questo motivo, quando attivate il servizio, verificate sempre che il vostro sito funzioni correttamente e, se vedete qualcosa di indesiderato, disattivate il servizio e assicuratevi di farcelo sapere in modo che possiamo indagare e risolvere il problema.

Per Quanto Tempo Sono Disponibili i Dati dello Strumento APM?

I dati APM sono conservati per 14 giorni. Per visualizzare i dati più vecchi di 24 ore, fate clic sul pulsante del lasso di tempo in alto a destra della pagina APM. Andate alla scheda Assoluto nel modale/pop-up Seleziona l’intervallo di tempo, poi selezionate un lasso di tempo di 24 ore negli ultimi 14 giorni e fate clic sul pulsante Applica l’intervallo di tempo.

Riepilogo

APM di Kinsta fornisce il contesto a problemi di prestazioni del vostro sito WordPress. Invece di generici errori HTTP 502 o timeout, lo strumento APM vi fornisce descrizioni dettagliate delle richieste lente.

Con il tool Kinsta APM, sarete in grado di eseguire il debug dei problemi di performance senza installare plugin come Query Monitor o attivando un servizio di terze parti come New Relic.

Se lavorate con uno sviluppatore per risolvere i problemi del vostro sito WordPress, lo strumento APM di Kinsta può anche farvi risparmiare tempo e denaro, fornendovi un punto da cui partire.