Kinsta’s APM tool is een krachtige tool voor het oplossen van problemen met je website. In dit artikel gaan we het hebben over een paar verschillende scenario’s voor het oplossen van prestatieproblemen op een site met behulp van de APM tool om problemen te onderzoeken en te analyseren.

Als je niet bekend bent met de instellingen en terminologie binnen de APM tool, bekijk dan onze gids over het gebruik van de Kinsta APM tool.

Aan de slag gaan

Voordat we dieper ingaan op hoe je de APM tool gebruikt voor het oplossen van problemen, zijn er een paar stappen die je moet nemen, ongeacht het probleem:

  1. Zorg ervoor dat je het probleem opnieuw kunt laten voordoen (als het momenteel niet al plaatsvindt). Zoek naar patronen van wanneer het probleem zich voordoet of als specifieke acties het probleem lijken te veroorzaken (bijv. het bewerken van een pagina, het toevoegen van een product aan een e-commerce winkelwagen, het uploaden van afbeeldingen, enz.).
  2. Schakel Kinsta APM in en geef het een paar minuten om te beginnen met het verzamelen van gegevens. De APM tool kan alleen gegevens opslaan en analyseren terwijl deze is ingeschakeld.
  3. Zodra de APM tool begint met het verzamelen van gegevens, laat je het probleem opnieuw optreden om de benodigde informatie vast te leggen.
  4. Als Redisis ingeschakeld op je site, zorg er dan voor dat je de plugin WP Redis of Redis Object Cache gebruikt (maar niet beide). We kunnen (waarschijnlijk) geen Redis gegevens van andere plug ins in de Kinsta APM tool verzamelen en weergeven.

Langzaam ladende pagina’s of acties analyseren

In dit voorbeeld laden pagina’s snel, maar alles wordt vertraagd bij het toevoegen van een product aan de winkelwagen, of het nu een eenvoudig of een variabel product is.

Na het toevoegen van een paar producten aan de winkelwagen, nemen we een kijkje bij de Resultaten in Kinsta APM (Websites > sitenaam > Kinsta APM) en zien we hier de /single-product transactie aan de bovenkant van de lijst van Langzaamste transacties, met een maximale duur van meer dan 5 seconden en een gemiddelde duur van meer dan 2 seconden.

Selecteer de single-product transactie bovenaan de traagste transactielijst in APM.
Selecteer de single-product transactie bovenaan de traagste transactielijst in APM.

Door op die transactie te klikken, wordt de popup met Transactie-samples geopend, waar we de traagste transactie kunnen selecteren (bovenste in de lijst) om meer details te zien.

Selecteer het langzaamste samples in de lijst met transactie-samples.
Selecteer het langzaamste samples in de lijst met transactie-samples.

Dit brengt ons naar de Tijdlijn van transactie-trace, waar we de transacties kunnen sorteren op Duur (tijd) om te zien welke processen in dit transactie-sample het traagst zijn. Hier zien we dat de update_card_payment span het langzaamste proces in de tijdlijn is, die 5.002,21 ms van een 5.535,61 ms transactie in beslag neemt.

De update_card_payment span neemt 5.002,21 ms van de transactie in beslag.
De update_card_payment span neemt 5.002,21 ms van de transactie in beslag.

Door op die span te klikken wordt de Span details popup geopend, die de stacktrace van de span bevat.

Bekijk de informatie over deze span, inclusief de stacktrace.
Bekijk de informatie over deze span, inclusief de stacktrace.

Hier kunnen we zien dat de WordPress hook action:woocommerce_add_to_cart is gekoppeld aan deze span in de spangegevens.

Er zijn een paar manieren om op te sporen aan welke plugin of thema deze is gekoppeld.

Als je vertrouwd bent met de opdrachtregel, kun je het grep commando gebruiken om te zoeken naar de update_card_payment functie en te zien welke plugin of themabestanden die functie bevatten.

Je kunt ook kijken bij het WordPress tabblad onder Resultaten en zoeken naar een plugin met een vergelijkbare totale duur en maximale duur. Het zal hoogstwaarschijnlijk bovenaan de lijst staan.

Bekijk de langzaamste WordPress plugins in het WordPress tabblad in Resultaten.
Bekijk de langzaamste WordPress plugins in het WordPress tabblad in Resultaten.

Je kunt de match bevestigen door de plugin te selecteren in de lijst met langzaamste WordPress plugins. Als de plugin niet wordt vermeld in de WordPress pluginkolom van de Transactie samples popup, selecteer dan de traagste transactie sample om de transactie-trace tijdlijn te bekijken.

Selecteer het traagste transactie-sample om de transactie-trace tijdlijn te bekijken.
Selecteer het traagste transactie-sample om de transactie-trace tijdlijn te bekijken.

Sorteer de tijdlijn op Duur en zoek naar dezelfde functienaam (bijv. update_card_payment) die bij het sorteren bovenaan of in de buurt van de lijst moet staan.

Sorteer de tijdlijn op Duur en zoek de functienaam in de kolom Spans.
Sorteer de tijdlijn op Duur en zoek de functienaam in de kolom Spans.

Algemene traagheid onderzoeken

Algemene traagheid op een site is vaak te wijten aan een plugin en dat is een van de eerste plaatsen die je wil controleren. Als een plugin ervoor zorgt dat je site traag is, kan dit meestal worden geïdentificeerd door het bekijken van het WordPress tabblad (Websites > sitenaam > APM > WordPress). In de screenshot hieronder, valt op dat het totale duurpercentage van de gehighlighte plugin meer dan 98% is. Ook de max en gemiddelde duur zijn vrij hoog.

Bekijk het totale duurpercentage, de maximale duur en de gemiddelde duur van een plugin.
Bekijk het totale duurpercentage, de maximale duur en de gemiddelde duur van een plugin.

Dit geeft aan dat deze plugin de meest waarschijnlijke bron van algehele traagheid op de site is. Om dit te bevestigen, kunnen we de plugin deactiveren, de prestaties van de site observeren en de resultaten in de APM tool opnieuw controleren nadat er voldoende gegevens zijn verzameld. Als je zeker weet dat de plugin correct is geconfigureerd, maar traagheid blijft veroorzaken op je site, raden we je aan contact op te nemen met de ontwikkelaar van de plugin om met hen samen te werken aan het oplossen van het probleem.

Vertragende externe problemen vaststellen

Externe verzoeken zijn HTTP verzoeken die door de site worden gedaan aan een andere (externe) server. Plugins of thema’s doen meestal deze verzoeken voor het laden van scripts of stylesheets of communicatie met een API.

Bij het oplossen van een mogelijk extern probleem is het belangrijk om op te merken dat de APM tool trage externe transacties aan de serverzijde registreert. Veel externe verzoeken kunnen worden gedaan vanaf een site aan de kant van de client. Deze worden niet opgenomen in de APM tool. Voor het onderzoeken van externe verzoeken aan de kant van de client, moet je een tool gebruiken zoals GTMetrix of de dev tools van je browser.

Als je langzame externe verzoeken wil bekijken, ga je naar het tabblad Extern onder Resultaten om de Langzaamste externe requests te bekijken. In dit voorbeeld vonden we wat traagheid bij het uploaden van afbeeldingen naar de mediabibliotheek, waarbij het sommige uploads 5 minuten of meer nodig kostte om te voltooien.

We beginnen met te kijken hoe de externe verzoeken eruit zien als we alleen maar inloggen op het WordPress dashboard. Vóór het uploaden van afbeeldingen naar de mediabibliotheek, zijn POST verzoeken naar wp-cron de traagste verzoeken, met 273,78 ms als maximale duur en 1.957,81 ms als totale duur.

 Langzaamste externe verzoeken in APM.
Langzaamste externe verzoeken in APM.

Wanneer we verschillende afbeeldingen uploaden, variërend in grootte van 3 MB tot 17 MB, duurt het enkele minuten voordat deze zijn geüpload. Als we weer naar Externe verzoeken kijken, zien we dat POST verzoeken naar smushpro.wpmudev.com de traagste externe verzoeken zijn, met een maximale duur van 1.703,14 ms en een totale duur van 82.710,85 ms.

Nieuwe langzaamste externe verzoeken na het uploaden en optimaliseren van afbeeldingen.
Nieuwe langzaamste externe verzoeken na het uploaden en optimaliseren van afbeeldingen.

Door op die transactie te klikken, wordt de popup met Transactie-samples geopend, waar we de traagste transactie kunnen selecteren (bovenste in de lijst) om meer details te zien.

Selecteer het langzaamste transactie-sample in externe verzoeken.
Selecteer het langzaamste transactie-sample in externe verzoeken.

Dit brengt ons naar de Tijdlijn van de transaction-trace, waar we de transacties kunnen sorteren op Duur (tijd) om te zien welke spans het traagst zijn. Hier zien we dat verschillende POST verzoeken aan smushpro.wpmudev.com het langzaamst zijn in dit sample, waarbij het totaal van die POST verzoeken 6.712,64 ms van een 7.168,58 ms transactie in beslag neemt.

Alle verzoeken aan smushpro.wpmudev.com weergegeven in een transactietrace-tijdlijn.
Alle verzoeken aan smushpro.wpmudev.com weergegeven in een transactietrace-tijdlijn.

We kunnen ook zien dat de duur van elk verzoek aanzienlijk varieert, waarbij het kortste verzoek slechts 138,2 ms en de langste 1.703,14 ms duurt. Dus terwijl de Smush plugin onze afbeeldingen optimaliseert, zorgt elk van die afbeeldingen voor een extern verzoek. Deze tellen op en vertragen onze site.

In dit geval zou het optimaliseren van onze afbeeldingen vóór het uploaden in plaats van te vertrouwen op een plugin voor onze afbeeldingsoptimalisatie onze externe verzoeken aanzienlijk verminderen. Dit is een van de gevallen waarin we moeten beslissen wat belangrijker is, gemak of de prestaties van de site. We kunnen de plugin houden als we het oké vinden dat deze met de externe verzoeken de site vertraagt. Als we de prestaties van onze site willen of moeten verbeteren, is het verwijderen van de plugin en het zelf optimaliseren van onze afbeeldingen vóór het uploaden onze beste optie.

Samenvatting

Met behulp van de strategieën uit de bovenstaande voorbeelden kun je de Kinsta APM tool gebruiken om prestatieproblemen op je site te debuggen. Elke situatie en site is anders, maar je kunt de algemene methodes die je hier vindt, toepassen om jou of je ontwikkelaar te helpen prestatieproblemen op je site op te sporen.