Kinsta’s APM-verktyg är ett kraftfullt verktyg för felsökning av din webbplats. Den här artikeln går igenom några olika scenarier som kan kräva felsökning av prestandaproblem på en webbplats.

Vi tar hjälp av APM-verktyget för att undersöka och analysera problemen. Om du inte är bekant med inställningarna och terminologin i APM-verktyget kan du läsa vår guide om hur du använder Kinsta’s APM-verktyget.

Att komma igång

Innan vi fördjupar oss i användandet av APM-verktyget för att felsöka ett problem finns det några steg som du måste vidta, oavsett problem:

  1. Se till att du kan återskapa problemet om det inte sker för närvarande. Leta efter mönster för problemets uppkomst eller se om specifika åtgärder verkar utlösa problemet (t.ex. redigering av en sida, tillägg av en produkt i en e-handelsvagn, uppladdning av bilder osv.).
  2. Aktivera APM-verktyget i MyKinsta och låt det samla in data under några minuter. APM-verktyget kan bara spela in och analysera data medan det är aktiverat.
  3. När APM-verktyget börjar samla in data återskapar du problemet för att registrera nödvändig information.
  4. Om Redis är aktiverat på din webbplats, ska du se till att du antingen använder pluginen WP Redis eller Redis Object Cache (men inte båda). Det kanske inte går att samla in och visa Redis-data från andra plugins i Kinsta’s APM-verktyget.

Analysera sidor eller åtgärder med långsam inläsning

I det här exemplet läses sidorna in snabbt, men allt saktar ner när du lägger till en produkt i kundvagnen, oavsett om det är en enkel eller en variabel produkt.

Efter att ha lagt till några produkter i kundvagnen tar vi en titt på resultaten i APM (WordPress-webbplatser > webbplatsnamn > APM) och ser att /single-product-transaktionen är högst upp på listan över långsammast transaktioner, med en maximal varaktighet på över 5 sekunder och en genomsnittlig varaktighet på över 2 sekunder.

Välj transaktionen för en produkt högst upp i listan över långsammast transaktioner i APM-verktyget.
Välj transaktionen för en produkt högst upp i listan över långsammast transaktioner i APM-verktyget.

Genom att klicka på den transaktionen öppnas modal / popup-fönstret för transaktionsexemplen där vi kan välja den långsammaste transaktionen (först i listan) för att se mer information.

Välj det långsammaste exemplet i listan över transaktionsexempel.
Välj det långsammaste exemplet i listan över transaktionsexempel.

Detta tar oss till tidslinjen för för transaktionsspårning, där vi kan sortera transaktionerna efter varaktighet (tid) för att se vilka processer som är långsammast i detta transaktionsexempel. Här kan vi se att update_card_payment-spannet är den långsammaste processen i tidslinjen och tar upp 5,002.21 ms av en 5,535.61 ms transaktion.

update_card_payment-spannet tar upp 5 002,21 ms av transaktionen.
update_card_payment-spannet tar upp 5 002,21 ms av transaktionen.

Genom att klicka på det spannet öppnas modal/popup-fönstret Spann-detaljer som innehåller stackspårningen för spannet.

Visa spann-informationen, inklusive stackspårningen.
Visa spann-informationen, inklusive stackspårningen.

Vi kan se att WordPress-kroken action:woocommerce_add_to_cart  är associerad med detta spann i spann-detaljerna.

Det finns ett par sätt att spåra vilket plugin eller tema som detta är förknippat med.

Om du är bekväm med kommandoraden kan du använda kommandot grep för att söka efter funktionen update_card_payment och se vilka plugin- eller temafiler som innehåller den funktionen.

Du kan alternativt titta under WordPress-fliken under Övervakningsresultat och leta efter ett plugin med liknande Total Varaktighet och Maximal Varaktighet. Det kommer sannolikt att finnas högst upp i listan.

Visa långsammast WordPress-plugins under WordPress-fliken i Övervakningsresultat.
Visa långsammast WordPress-plugins under WordPress-fliken i Övervakningsresultat.

Du kan bekräfta matchningen genom att välja plugin i listan Långsammast WordPress-plugins. Om pluginet inte visas i kolumnen för WordPress-plugins i modal/popup-fönstret Transaktionsexempel väljer du det långsammaste transaktionsexemplet för att visa tidslinjen för transaktionsspårningen.

Välj det långsammaste transaktionsexemplet för att visa tidslinjen för transaktionsspårningen.
Välj det långsammaste transaktionsexemplet för att visa tidslinjen för transaktionsspårningen.

Sortera tidslinjen efter Varaktighet och leta efter samma funktionsnamn (t.ex. update_card_payment) som ska finnas högst upp i listan när det sorteras.

Sortera tidslinjen efter Varaktighet och leta efter funktionsnamnet i kolumnen Intervall.
Sortera tidslinjen efter Varaktighet och leta efter funktionsnamnet i kolumnen Intervall.

Undersök övergripande långsamhet

Övergripande långsamhet på en webbplats beror ofta på ett plugin och det är dem som du bör kontrollera först. Om ett plugin gör att din webbplats är långsam kan detta vanligtvis identifieras genom att du tittar under WordPress-fliken (WordPress-webbplatser > webbplatsnamn > APM > WordPress). I skärmdumpen nedan kan du se att det markerade pluginets totala varaktighetsprocent ligger på över 98%, och max och genomsnittlig varaktighet är ganska hög.

Visa ett plugins totala varaktighetsprocent, maximal varaktighet och genomsnittlig varaktighet.
Visa ett plugins totala varaktighetsprocent, maximal varaktighet och genomsnittlig varaktighet.

Detta indikerar att detta plugin är den mest troliga källan till övergripande långsamhet på webbplatsen. För att bekräfta detta kan vi inaktivera pluginet, observera webbplatsens prestanda och kontrollera resultaten i APM-verktyget efter att tillräckligt med data har samlats in. Om du är säker på att pluginet är korrekt konfigurerat men märker att det fortsätter att orsaka långsamhet på din webbplats rekommenderar vi att du kontaktar plugin-utvecklaren för att arbeta med dem för att lösa problemet.

Identifiera intermittenta problem från tredje part

Externa begäranden är HTTP-begäranden som görs av webbplatsen till en annan (tredje part) server. Plugins eller teman gör vanligtvis dessa begäranden när det gäller att ladda skript eller formatmallar eller kommunicera med ett API.

När du felsöker ett eventuellt externt problem är det viktigt att notera att APM-verktyget registrerar långsamma externa transaktioner på serversidan. Många externa begäranden kan göras från en webbplats på klientsidan, och de registreras inte i APM-verktyget. För att undersöka externa begäranden på klientsidan måste du använda ett verktyg som GTmetrix eller webbläsarens utvecklingsverktyg.

Om du vill visa långsamma externa begäranden går du till fliken Extern under Övervakningsresultat för att visa de långsammaste externa begärandena. I det här exemplet har vi märkt en viss långsamhet när vi laddar upp bilder i mediebiblioteket, där vissa uppladdningar tar 5 minuter eller längre att slutföra.

Vi börjar med att titta på hur de externa begärandena ser ut när vi inte gör något mer än att logga in på WordPress-instrumentpanelen. Innan vi laddar upp bilder till mediebiblioteket är POST -förfrågningar till wp-cron de långsammaste begärandena, med 273,78 ms maximal varaktighet och 1 957,81 ms total varaktighet.

De långsammaste externa begärandena i APM-verktyget.
De långsammaste externa begärandena i APM-verktyget.

När vi laddar upp flera bilder som har en storlek från 3 MB-17 MB tar det flera minuter för dem att laddas upp. När vi tittar på externa begäranden igen ser vi att POST-begärandena till smushpro.wpmudev.com är de långsammaste externa begärandena, med en maximal varaktighet på 1 703,14 ms och en total varaktighet på 82 710,85 ms.

Uppdatering av de långsammaste externa begärandena efter uppladdning och optimering av bilder.
Uppdatering av de långsammaste externa begärandena efter uppladdning och optimering av bilder.

Genom att klicka på den transaktionen modal / popup-fönstret för transaktionsexemplen där vi kan välja den långsammaste transaktionen (först i listan) för att se mer information.

Välj det långsammaste transaktionsexemplet i externa begäranden.
Välj det långsammaste transaktionsexemplet i externa begäranden.

Detta tar oss till tidslinjen för transaktionsspårningen, där vi kan sortera transaktionerna efter varaktighet (tid) för att se vilka intervall som är långsammast. Här kan vi se att flera POST-begäranden till smushpro.wpmudev.com är de långsammaste i det här exemplet, och tar upp 6,712.64 ms av en 7,168.58 ms transaktion.

Visa alla begäranden till smushpro.wpmudev.com i en tidslinje för transaktionsspårning.
Visa alla begäranden till smushpro.wpmudev.com i en tidslinje för transaktionsspårning.

Vi kan även observera att varaktigheten för varje begäran varierar avsevärt, den kortaste tar endast 138,2 ms och den längsta tar 1 703,14 ms. Så även om Smush-pluginet optimerar våra bilder, skapar var och en av dessa bilder en extern begäran, vilket travas på hög och kan sakta ner saker på webbplatsen.

I det här fallet skulle det hjälpa om vi optimerar våra bilder innan vi laddar upp dem istället för att förlita oss på ett plugin för bildoptimering. Detta är ett av de fall där vi måste bestämma vilket som är viktigare, bekvämlighet eller webbplatsens prestanda. Vi kan behålla pluginet om vi är okej med den nödvändiga långsamheten som orsakas av de externa begärandena. Om vi föredrar eller behöver förbättra vår webbplats prestanda är det bästa alternativet att ta bort pluginet och optimera våra bilder innan vi laddar upp dem.

Sammanfattning

Med hjälp av strategierna från exemplen ovan kan du använda Kinsta’s APM-verktyget för att felsöka prestandaproblem på din webbplats. Varje situation och webbplats är olika, men du kan använda de allmänna felsökningsmetoderna här som hjälp för dig eller din utvecklare när det gäller att spåra prestandaproblem på din webbplats.