Kinsta’s APM tool helpt je met het identificeren van PHP performance-knelpunten op je WordPress site, zonder dat je je hiervoor hoeft aan te melden bij een externe monitoringsdienst als New Relic.

De APM tool is gratis beschikbaar voor alle abonnementen en kan enorm van pas komen bij het oplossen van problemen met je site. De APM tool is ontworpen om informatie (met tijdstempel) vast te leggen over de PHP processen van je WordPress site, MySQL databasequery’s, externe HTTP calls en meer.

Met de door APM verzamelde gegevens kan je naar specifieke langzame pageloads kijken om de hoofdoorzaak van het probleem te achterhalen. Zie deze handleidingen voor meer informatie over het oplossen van prestatieproblemen op specifieke soorten sites met behulp van de APM tool:

Houd er rekening mee dat de APM tool van Kinsta specifiek is ontworpen om je te helpen bij het monitoren van WordPress sites, dus het gebruik ervan om een site te monitoren die op een ander CMS of framework draait kan resulteren in onnauwkeurige resultaten. Daarom raden we aan om het alleen voor WordPress sites te gebruiken.

Terminologie APM tool

Voordat we ingaan op hoe je de APM tool gebruikt, is het misschien wel slim om een paar belangrijke termen te definiëren die we later zullen gebruiken.

APM

APM, een afkorting van “Application Performance Monitoring” is een tool die je inzicht geeft in de performancestatistieken en trends van een applicatie. Kinsta’s APM tool biedt je bruikbare gegevens over de prestaties van je WordPress site.

Verzoek

In de context van de APM tool verwijst een verzoek naar een bezoek aan je WordPress site waarvoor PHP uitvoering is vereist om te worden weergegeven. De URL van een verzoek kan verschillende parameters van een query string bevatten en triggert een bijbehorende transactie.

Een verzoek aan yourdomain.com/wp-cron.php?arg=1&arg2=2 triggert bijvoorbeeld een /wp-cron.php transactie.

Transactie

Een transactie verwijst naar de back-end activiteit die optreedt om een verzoek aan je WordPress site te verwerken. De transactie voor een verzoek aan /wp-login.php bevat bijvoorbeeld de individuele PHP processen die de inlogpagina van je WordPress site genereren.

Span

Een span verwijst naar een individueel proces binnen een transactie. Een enkele transactie kan uit honderden hiërarchisch gerangschikte spans bestaan.

Een transactie die bijvoorbeeld een accountpagina genereert voor een WooCommerce klant, kan bestaan uit een span die is opgesplitst in meerdere database-query spans.

Transactie-sample

Een transactie-sample verwijst naar een enkele instantie die is gekozen uit vele verzoeken aan een specifiek transactie endpoint (bijv. /single.php, /wp-cron.php, etc.). In de APM tool kan je kiezen uit drie samples.

Het kan zo zijn dat de APM tool bijvoorbeeld tientallen /wp-cron.php transacties registreert. In dit geval kiest de APM tool de langzaamste transactie en noemt dit een transactie-sample.

Transactie-trace

Een transactie-trace is een volledige tijdlijn van alle processen die binnen een transactie-sample hebben plaatsgevonden. In onze APM tool wordt een transactie-trace weergegeven als een lijst met spans met bijbehorende duur en informatie over de tijdstempel.

Tijdlijn transactie-trace voor een transactie-sample.
Tijdlijn transactie-trace voor een transactie-sample.

Stack-trace

Een stack-trace is een gedetailleerde uitsplitsing van het proces van een individuele span. Stack-traces zijn vooral handig als je tijdens het debuggen echt diep wil graven. Ze bevatten zeer gedetailleerde informatie over de PHP code die werd uitgevoerd, tot het specifieke PHP bestand en de coderegel toe.

Een stack-trace voor een span.
Een stack-trace voor een span.

Zo schakel je Kinsta’s APM tool in

Standaard staat de APM tool uitgeschakeld. Omdat de APM tool extra serverresources vereist, raden we aan deze alleen in te schakelen als je actief een prestatieprobleem op je WordPress site aan het oplossen bent.

Om de APM tool in te schakelen, log je in op MyKinsta, kies je de site die je wil monitoren, navigeer je naar het tabblad APM van je site en klik je op de knop APM inschakelen.

Klik op de knop APM inschakelen om prestatiemonitoring van applicaties in MyKinsta in te schakelen.
Klik op de knop APM inschakelen om prestatiemonitoring van applicaties in MyKinsta in te schakelen.

Selecteer vervolgens de monitoringsduur voor de APM. Je kan kiezen uit 2 uur, 4 uur, 12 uur en 24 uur. Aangezien de APM de prestaties van je site kan verminderen, raden we je aan om deze niet voor langere tijd ingeschakeld te laten. Nadat je een monitoringsperiode hebt geselecteerd, klik je op Bewakingstijd inschakelen om de APM te starten.

Selecteer APM monitoringstijd en schakel het in.
Selecteer APM monitoringstijd en schakel het in.

Geef de tool 5-10 minuten om te beginnen met het verzamelen van gegevens en vervolgens kun je de gegevens bekijken op het APM tabblad.

Na het verlopen van de monitoringsperiode wordt APM automatisch uitgeschakeld. Als je de monitoring vroegtijdig wil uitschakelen, klik je op het kebab-menu (drie punten) en selecteer je Uitschakelen in het vervolgkeuzemenu.

Schakel prestatiemonitoring van applicaties uit in MyKinsta.
Schakel prestatiemonitoring van applicaties uit in MyKinsta.

Zo selecteer je een tijdvak van het monitoren

De APM tool toont standaard monitoringsgegevens van de afgelopen 60 minuten. Het tijdsbestek van de gegevens is echter aan te passen waarbij je kan kiezen uit de onderstaande opties.

  • 30 minuten
  • 60 minuten
  • 2 uren
  • 4 uren
  • 12 uren
  • 24 uren

Om deze instelling te wijzigen, klik je op de knop Monitoring tijd rechtsboven op de APM pagina en selecteer je een optie in de popup die verschijnt. Klik op de knop Monitoring tijd inschakelen om het nieuwe tijdsbestek in te stellen.

Wijzig het tijdsbestek van de APM monitoringgegevens.
Wijzig het tijdsbestek van de APM monitoringgegevens.

Zo vernieuw je de monitoringsdata

Kinsta’s APM laat de monitoringgegevens van prestaties zien op basis van het ingestelde tijdsbestek (bijv. afgelopen 30 minuten, afgelopen 60 minuten, enz.). Om verwarring te voorkomen, vernieuwt de APM tool de gegevens niet automatisch. Om de APM tool te verversen en de laatste gegevens van het geselecteerde tijdsbestek weer te geven, klik je op het Vernieuwen pictogram naast de tijdframe knop.

Klik op het ververs (redo) pictogram om de Kinsta APM monitoringgegevens bij te werken.
Klik op het ververs (redo) pictogram om de Kinsta APM monitoringgegevens bij te werken.

Zo lees je de data van de APM tool

Aangezien het verzamelen van data niet gebeurt wanneer de APM tool is uitgeschakeld, moet je de tool wat tijd gunnen om prestatiegegevens van je site te verzamelen. We raden aan om ten minste 5-10 minuten te wachten voordat je naar de monitoringdata kijkt.

Daarna kun je de belangrijkste inzichten vinden op de tabbladen Transacties, WordPress, Database en Extern, die we hieronder in meer detail zullen bespreken.

Kinsta APM gegevens: Transacties, WordPress, Database en Extern.
Kinsta APM gegevens: Transacties, WordPress, Database en Extern.

Er zijn enkele veelvoorkomende kolommen die je op elk tabblad ziet:

  1. Totale duur (%): Het percentage tijd, ten opzichte van de totale duur, dat wordt verbruikt door alle verzoeken naar een transactie-endpoint binnen het geselecteerde tijdsbestek. Het duurpercentage wordt berekend met de totale duurwaarden (de som van de duur van alle verzoeken naar een bepaald endpoint), zodat het niet de duur van een individuele transactie-sample vertegenwoordigt.
  2. Totale duur: De totale hoeveelheid tijd die wordt verbruikt door een transactie endpoint binnen het geselecteerde tijdsbestek. Let op dat de duur hiervan verwijst naar de som van de duur van alle verzoeken aan een bepaald endpoint en dus niet de duur van een individueel transactie sample vertegenwoordigt.
  3. Maximale duur: De duur van de langzaamste transactie sample binnen het geselecteerde tijdsbestek.
  4. Gem. duur: Het gemiddelde van de duur van alle transactie samples uit het geselecteerde tijdsbestek.
  5. Rate Per Min: Het aantal keren dat een transactie gemiddeld per minuut is uitgevoerd in het geselecteerde tijdsbestek.

Bij het navigeren door de data zie je ook de volgende algemene gegevens:

Transactievoorbeelden

Wanneer je op een transactie klikt, krijg je een modal te zien met maximaal drie transactievoorbeelden (samples) uit het geselecteerde tijdsbestek.

  1. Langzaamste sample: Het langzaamste transactie-sample.
  2. 95e percentiel: Een transactie in het 95e percentiel (95% van de transacties is sneller dan dit transactievoorbeeld).
  3. 50e percentiel: Een transactie in het 50e percentiel (50% van de transacties zijn sneller dan dit transactievoorbeeld), ook wel mediaan genoemd. Je kan deze zien als de “typische duur”, omdat er precies hetzelfde aantal langzamere als snellere samples is dan dit.
De pop-up met transactievoorbeelden in de APM tool.
De pop-up met transactievoorbeelden in de APM tool.

Je ziet misschien één, twee of drie samples. Het langzaamste sample en de 95e percentiel transactie kunnen bijvoorbeeld mogelijk dezelfde transactie zijn.

De modal/pop-up Transactiesamples toon ook nuttige informatie over elk transactiesample, inclusief de timestamp, het transactie endpoint, de URL van het verzoek en de duur.

Voorbeeld van individuele transactie

Als je in de pop-up op een transactie-sample klikt, word je naar een speciale pagina geleid voor de geselecteerde sample. De pagina Transactie-sample geeft de volgende informatie over de sample: timestamp, transactie endpoint, URL, duur, HTTP statuscode en een volledige tijdlijn van de transactie-trace.

Transactie-sample met trace-tijdlijn in Kinsta's APM.
Transactie-sample met trace-tijdlijn in Kinsta’s APM.
  1. Timestamp: De datum en tijd van het transactie-sample.
  2. Transactie: Het PHP endpoint van de transactie-sample (bijv. /wp-cron.php, /single.php, etc.).
  3. URL: Het specifieke URL van de transactie-sample.
  4. Duur: De duur van de transactie-sample in milliseconden.
  5. Resultaat: De HTTP statuscode van de transactie. Als je een “HTTP 200” code als resultaat ziet, dan betekent dit dat de transactie traag was, maar wel succesvol. Een foutcode “HTTP 503” betekent echter dat de transactie een time-out kreeg.

Elk transactie-sample heeft zijn eigen permalink of unieke URL. Dit maakt het je makkelijk om een specifiek transactie-sample te bestuderen en deze te delen met collega’s of het Kinsta supportteam. Opmerking: je collega of ontwikkelaar moet toegang hebben tot de site in MyKinsta om het transactie-sample te kunnen bekijken.

Permalink transactie-sample.
Permalink transactie-sample.

Tijdlijn transactie-trace

Naast deze basisinformatie over de transactie, geeft de APM tool ook een meer gedetailleerde tijdlijn van de transactie-trace. Binnen de tijdlijn van de transactie-trace zie je een stapsgewijze presentatie van spans – PHP processen, MySQL databasequery’s en externe calls voor een specifieke transactie-sample.

Je kan de spans sorteren op duur (tijd) of duur (%) in oplopende of aflopende volgorde door op de kolomnaam te klikken. Dit is handig om snel de langstlopende transacties te identificeren.
Elk span heeft ook zijn eigen bijbehorende duur en relatieve tijdstempel, zodat je snel het langste en meest problematische deel van het verzoek kan identificeren.
Ten opzichte van de totale duur van de transactie-sample:

  • Spans met een duur van meer dan 5% worden in oranje weergegeven
  • Spans met een duur van meer dan 25% worden in het rood weergegeven

Deze highlights verwijzen altijd naar de relatieve duur van de span in de context van de eigen sample. Dus als je iets roods ziet, houd er dan rekening mee dat het altijd wordt vergeleken met dat specifieke sample (en je site of webapp is misschien als geheel helemaal niet langzaam).

Let op dat we voor MySQL en Redis query’s we geen spans opnemen die korter zijn dan 0,001ms. Voor niet-databasegerelateerde spans is de drempel 1 ms. We sluiten met opzet korte spans uit, omdat het analyseren van een groot aantal snelle elementen de prestaties van je site negatief kan beïnvloeden en verder geen bruikbare gegevens oplevert.

Tijdlijn voor het traceren van een transactie.
Tijdlijn voor het traceren van een transactie.

Deze gedetailleerde trace-tijdlijn is erg handig voor het oplossen van prestatieproblemen, omdat het je helpt om precies te bepalen waar het knelpunt zich bevindt.

Het kan bijvoorbeeld zo zijn dat je ziet dat de traagheid van /wp-admin/admin-ajax.php wordt veroorzaakt door lange API verzoeken aan API’s van sociale netwerken. Gewapend met deze kennis kan je doorgaan met het testen van je site, maar nu terwijl je sociale plugins zijn uitgeschakeld om te zien of dit een verbetering oplevert.

Op dezelfde manier, als je een langzame transactie naar /wp-cron.php ziet die herhalende HTTP verzoeken bevat die zijn geïnitieerd door een cache-preloadingplugin, dan kan je snel handelen naar deze informatie en de cache-preloadingfuncties uitschakelen.

Span details

Als je op een span klikt binnen de tijdlijn van de transactie-trace, dan zie je een gedetailleerd overzicht met een volledige stack-trace en bijbehorende informatie.

Als je bijvoorbeeld klikt op de span van een MySQL query, dan zie je de databasequery die samen met de stack-trace is uitgevoerd. Door de span details te inspecteren, krijg je beter inzicht in de PHP transacties van je WordPress site.

Span details in de tijdlijn van de transactie-span.
Span details in de tijdlijn van de transactie-span.

Voor meer specifieke voorbeelden over hoe je de data van de APM tool kan lezen en gebruiken, check je onze gids over hoe je Kinsta’s APM gebruikt om performanceproblemen te diagnosticeren.

Resultaten

Op elk van de tabbladen op de APM pagina kun je specifieke gegevens bekijken voor Transacties, WordPress, Database en Externe verzoeken.

Transacties

In dit tabblad vind je gegevens over de totale transactietijd en de traagste transacties.

Totale transactietijd

Het staafdiagram Totale transactietijd geeft je een visuele weergave van de transactietijdgegevens van het geselecteerde tijdsbestek. Elke balk bestaat uit een meerkleurige uitsplitsing van de transactietijden van PHP, MySQL, Redis en Extern. De Totale transactietijd laat in de rechterbovenhoek ook de gemiddelde transactietijd van het tijdsbestek zien.

APM Totale transactietijd staafdiagram.
APM Totale transactietijd staafdiagram.

Langzaamste transacties

De tien traagste PHP transacties verschijnen in het gedeelte Langzaamste transacties onder de grafiek met de Totale transactietijd. Naast de gemeenschappelijke kolommen is de eerste kolom van deze gegevens de kolom Transactie, die het transactie-endpoint weergeeft van langzame verzoeken die de meeste PHP tijd verbruiken (bijv. /wp-cron.php, /wp-json, etc.).

Langzaamste transacties in de APM tool.
Langzaamste transacties in de APM tool.

Je kan op elk transactie-endpoint klikken om de transactie-samples te bekijken en verder te navigeren in elk afzonderlijk transactie-sample, trace-tijdlijn, spangegevens en stack trace.

WordPress

Op het tabblad WordPress vind je gegevens die specifiek zijn voor WordPress plugins en hooks.

Langzaamste WordPress plugins

De langzaamste geregistreerde plugins worden bovenaan weergegeven met de slug (map/directorynaam) van de plugin in de eerste kolom, vervolgens de rest van de gemeenschappelijke gegevenskolommen. Je kan op elke plugin slug klikken om de transactie-samples te bekijken waarbij je verder kan navigeren naar elk afzonderlijke transactie-sample, trace-tijdlijn, spandetails en stack trace.

Langzaamste WordPress hooks

Onder de lijst met langzaamste WordPress plugins zie je de lijst met langzaamste WordPress hooks. WordPress hooks zijn functies in thema’s of plugins waarmee je WordPress op specifieke plekken in de verwerking van de code kunt wijzigen.

Een hook is een actie of een filter, en de hooks in deze lijst worden voorafgegaan door hun type (actie of filter), gevolgd door de functienaam. Als je op een hook klikt, worden de transactie-samples weergegeven, waarna je verder kunt navigeren naar elk afzonderlijk transactie-sample, de trace-tijdlijn, de spandetails en de stack trace.

Database

Dit tabblad toont gegevens voor de langzaamste databasequery’s en de langzaamste Redis cachetransacties (als Redis is ingeschakeld).

Langzaamste database queries

De top 10 traagste databasequeries worden weergegeven in de sectie Traagste databasequeries. Als je op een query klikt, worden de transactie-samples weergegeven, waarna je verder kan navigeren naar elk afzonderlijk transactie-sample, de trace-tijdlijn, de spandetails en de stack trace.

Langzaamste Redis cache

Voor sites met de Redis add-on kunnen details met betrekking tot Redis cache worden gevonden in deze sectie. Als de Redis add-on niet op je site is geïnstalleerd, worden er geen gegevens weergegeven. Als je op een cache-item klikt, worden de transactie-samples weergegeven, waarna je verder kan navigeren naar elk afzonderlijk transactie-sample, de trace-tijdlijn, de spandetails en de stack trace.

Extern

Data voor eventuele externe verzoeken van je site zijn te vinden op het tabblad Extern. Externe verzoeken zijn HTTP verzoeken die door je site aan een andere site of server worden gedaan. Deze calls worden meestal gedaan door plugins of thema’s voor het ophalen of verzenden van gegevens of voor communicatie met een API.

Elke URL in de eerste kolom van de lijst wordt gevolgd door de HTTP methode die wordt gebruikt voor het verzoek (GET, POST, PUT, enz.). Als je op een request URL klikt, worden de transactie-samples weergegeven, waarna je verder kan navigeren naar elk afzonderlijk transactie-sample, de trace-tijdlijn, spandetails en stack trace.

Veelgestelde vragen APM

We hebben een paar populaire vragen verzameld over onze APM tool en de bijbehorende antwoorden hieronder weergegeven.

Hoe schakel ik Kinsta’s APM in?

Kinsta’s APM kan bij elk pakket zonder extra kosten worden gebruikt. Om hem in te schakelen, moet je:

  1. Inloggen in MyKinsta.
  2. Selecteer de website die je wilt debuggen.
  3. Klik op het tabblad Monitoring.
  4. Klik op de knop APM inschakelen om de APM tool te starten.

Zorgt de APM ervoor dat mijn WordPress site trager wordt?

Net als bij andere APM tools kan de agent van Kinsta’s APM voor extra belasting zorgen aan de CPU en RAM resources van je server en dus mogelijk voor een bepaalde tijd je WordPress site vertragen.

We raden ten zeerste aan om de APM alleen te gebruiken als je actief een prestatieprobleem op je site aan het diagnosticeren bent.

Ondersteunt Kinsta nog steeds persoonlijke New Relic monitoring voor klanten met hun eigen New Relic licenties?

Ja, Kinsta ondersteunt nog steeds het monitoren van sites met New Relic voor klanten met hun eigen persoonlijke licenties.

Is het mogelijk om Kinsta’s APM en New Relic tegelijkertijd te gebruiken?

We raden af om Kinsta’s APM en New Relic tegelijkertijd te gebruiken voor monitoring. Het is echter geen probleem om te wisselen tussen de APM en New Relic, zolang beide tools niet tegelijkertijd actief zijn.

Is de APM compatibel met andere CMS platforms en frameworks?

Op dit moment is de APM alleen volledig compatibel met WordPress.

Werkt de APM met Bedrock (of andere sites die Composer gebruiken)?

Ja, maar als WP-CLI een dependency is in het composer.json bestand van je site, moet je een configuratie toevoegen zodat de autoloader van Kinsta kan samenwerken met de WP-CLI autoloader:

"prepend-autoloader": false

Hier is een voorbeeld van een config array van een Bedrock site na het toevoegen van de prepend configuratie:

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

Wat moet ik doen als ik onverwacht gedrag op mijn site zie nadat ik de APM heb ingeschakeld?

We hebben al uitgebreid getest met verschillende WordPress versies en een lange lijst met plugins. Er kunnen echter nog onbekende plooien zijn om glad te strijken, zoals een pluginversie of een custom development die niet compatibel is met onze monitoringoplossing.

Controleer daarom altijd of je site goed werkt wanneer je de functie inschakelt. Als je ongewenst gedrag ziet, schakel je de functie uit en laat je het ons weten, zodat we het probleem kunnen onderzoeken en oplossen.

Hoe lang zijn gegevens van de APM tool beschikbaar?

APM gegevens worden 14 dagen bewaard. Om gegevens ouder dan 24 uur te bekijken, klik je op de knop Monitoring tijd rechtsboven op de APM pagina, ga je naar het tabblad Absoluut in de popup Tijdskader selecteren, selecteer je een tijdskader van 24 uur binnen de afgelopen 14 dagen en klik je op de knop Monitoring tijd inschakelen.

Samenvatting

Kinsta’s APM tool geeft context aan prestatieproblemen op je WordPress site. In plaats van algemene HTTP 502 fouten of time-outs biedt de APM tool je een gedetailleerde uitsplitsingen van langzame verzoeken.

Met Kinsta’s APM tool kan je prestatieproblemen oplossen zonder dat je plugins hoeft te installeren als Query Monitor of een externe service in moet schakelen als New Relic.

Als je samenwerkt met een developer om problemen op je WordPress site op te lossen, dan kan Kinsta’s APM tool je ook helpen tijd en geld te besparen door je een plek te bieden om te beginnen.