PHP-bearbetare bearbetar en webbplats PHP-kod. Detta inkluderar byggandet av sidor, bearbetning av bakgrundsuppgifter, frågor till databasen osv.

Man kan se PHP-bearbetare som anställda i en butik. Varje bearbetare kan endast hantera en begäran i taget. Om det finns fler kunder än det finns bearbetare måste dessa kunder (processer) radas upp och vänta på att nästa tillgängliga bearbetare ska hantera sin begäran.

PHP-bearbetare har en viktig roll när en webbplats inte kan cachelagra tillräckligt mycket av innehållet. Ju mer dynamisk en webbplats är, desto fler PHP-bearbetare kommer den sannolikt att behöva. Cachelagrat innehåll kräver inga PHP-bearbetare, de behövs egentligen endast när webbplatsen behöver fråga databasen för att få eller ändra information.

WordPress och PHP-bearbetare

En begäran som inte är cachelagrad på en WordPress-webbplats fungerar vanligtvis så här:

  1. En besökare besöker en sida eller utför en åtgärd på en sida (t.ex. lägger till något i en kundvagn, skickar in ett formulär osv.).
  2. Webbservern (Nginx här på Kinsta) tar emot denna begäran.
  3. Nginx skickar begärandet till PHP.
  4. PHP frågar MySQL-databasen och får den information som den behöver eller gör de uppdateringar som krävs.
  5. PHP använder sedan ditt temas PHP-filer (och eventuella plugin-filer om tillämpligt) för att generera en HTML-sida.
  6. PHP skickar tillbaka den renderade HTML-sidan till webbservern.
  7. Sidan serveras till besökaren.

I processen som beskrivs ovan är steg 4 det som är mest tids- och resurskrävande (CPU och RAM). En väloptimerad webbplats med en effektiv PHP-kod och effektiva databasfrågor kommer att bearbeta detta steg ganska snabbt.

En dåligt skriven eller icke-optimerad PHP-kod och / eller många ineffektiva databasfrågor kommer å andra sidan att ta mycket längre tid på sig för att komma igenom steg 4. Begäranden som tar längre tid att bearbeta lägger beslag på PHP-bearbetare under längre perioder.

Uppskatta hur många PHP-bearbetare som krävs

Hur många bearbetare som en webbplats behöver beror på många faktorer, exempelvis: hur dynamisk webbplatsen är, hur optimerad webbplatsens kod är (hur snabbt begäranden kan behandlas) och vilken typ av trafik som webbplatsen får. En optimerad webbplats hanterar begäranden snabbt, vilket frigör PHP-bearbetare för nästa begäran i kön.

Dynamiska webbplatser som e-handelsbutiker, forum, inlärningswebbplatser och medlemswebbplatser behöver vanligtvis fler PHP-bearbetare än mer statiska webbplatser. Ju mer upptagen en webbplats är, desto fler PHP-bearbetare behöver den.

PHP-bearbetare, CPU och RAM

När du lägger till PHP-bearbetare måste CPU- och RAM-resurser beaktas. Om du ökar antalet PHP-bearbetare, men servern inte har tillräckligt med CPU och RAM för att stödja dessa bearbetare, kommer det att skapas en flaskhals eftersom begärandena inte kommer att hanteras effektivt.

Här på Kinsta är våra anpassade LXD-containers konfigurerade med massor av CPU- och RAM-resurser. Genom att använda beräkningsoptimerade virtuella C2-maskiner som är utrustade med Google Cloud’s snabbaste processorer hjälper vi dessutom webbplatsens PHP-bearbetare att jobba mer effektivt. Vår skalbara infrastruktur säkerställer att PHP-bearbetarna på din WordPress-webbplats har tillräckligt med CPU-resurser för att fungera med bästa möjliga prestanda.

Identifiera prestandaproblem som är relaterade till PHP-bearbetare

Om för många begäranden står i kö på grund av ett stort inflöde av begäranden, långvariga processer eller en kombination av båda dessa saker, kan webbplatsen uppleva prestandaproblem som kan leda till 502- eller 504-fel.

Verktyg som Kinsta APM och pluginet Query Monitor kan hjälpa dig att identifiera prestandaproblem och långsamma sökfrågor. Vi rekommenderar även att du arbetar med en kvalificerad prestandaexpert för att diagnostisera problem.

Klicka på knappen Aktivera Kinsta APM för att aktivera detta i MyKinsta.
Klicka på knappen Aktivera Kinsta APM för att aktivera detta i MyKinsta.

PHP-bearbetargräns-diagrammet i MyKinsta analytics visar hur många gånger som din webbplats har nått det maximala antalet tilldelade bearbetare. Detta kan hjälpa dig att avgöra om din webbplats kontinuerligt använder sina PHP-bearbetare och kan även visa dig vilken hjälp du skulle få av en uppdatering till en nyare PHP-motorversion.

Gräns för PHP-bearbetare
Gräns för PHP-bearbetare

Avsnittet för cacheanalys i MyKinsta analytics kan användas för att visa webbplatsens totala antal cachelagrade begäranden och förbikopplingarna av de största cacheminnena.

Cache - cachekomponentdiagram
Cache – cachekomponentdiagram
Cache – förbikopplingar av de största cacheminnena
Cache – förbikopplingar av de största cacheminnena

Minska och optimera användningen av PHP-bearbetare

Cachelagring

Cachelagring av sidor

Cachelagring är din bästa vän när det gäller optimeringen av din webbplats och minskning av antalet PHP-bearbetare. Kom ihåg att PHP-bearbetare inte krävs för cachelagrat innehåll, så cachelagra allt som du kan. På Kinsta tar vi hand om sidcachelagringen åt dig; alla webbplatser använder Nginx FastCGI-cachemodul för supersnabb prestanda.

Objekt-cachelagring

Att lägga till en beständig objektcache som Redis framför databasen kan öka prestandan och minska behovet av PHP-bearbetare. Utan objektcachelagring körs MySQL-databasfrågor för varje begäran, även om det handlar om samma fråga och resultat.

Redis lagrar resultaten av databasfrågor i RAM så att PHP kan ta tag i dessa resultat utan att behöva köra frågan igen. Att ta bort behovet av repetitiva databasfrågor gör det möjligt för PHP-bearbetare att spara resurser och uppfylla begäranden mer effektivt.

Kolla in våra premiumtillägg för att lära dig mer om hur du lägger till Redis-cache på din webbplats.

Kodoptimering

Se till att webbplatsens kod är optimerad så att den är så effektiv som möjligt. Detta gäller anpassad kod, temakod och plugin-kod. Om du är osäker rekommenderar vi att du ber en utvecklare om att granska webbplatsens kod.

Anpassad kod

Om din webbplats innehåller några anpassade kodavsnitt i plugins eller ditt tema, se till att de verkligen är nödvändiga och välskrivna.

Plugins

Ta en titt på de plugins som används på webbplatsen och se till att de verkligen behövs. Säkerställ att de inte duplicerar funktioner och att de är det bästa alternativet för det behov som de uppfyller. Om några plugins inte är kompatibla med den senaste versionen av WordPress och PHP kan det vara dags att överväga andra alternativ. Om du har plugins på din webbplats som inte används rekommenderar vi att du tar bort dem.

Tema

Använd ett lättviktigt och högpresterande tema. Undvik teman som innehåller funktionalitet som bäst implementeras via separata plugins (t.ex. SEO, sökfiltrering, anpassade fält, bild-sliders / bildspel osv.) eller som inte krävs för din webbplats.

Uppdatera PHP

Använd den senaste PHP-versionen för snabbare prestanda.  PHP-riktmärkestester visar att varje ny PHP-version är snabbare än den föregående.

Aktivera Kinsta CDN

Aktivering av Kinsta CDN ger en ytterligare ökning av effektiviteten och optimeringen för din webbplats. Kinsta CDN är vårt högpresterande HTTP / 3-CDN som drivs av Cloudflare, utan extra kostnad. När det är aktiverat kommer din webbplats att kunna betjäna statiska tillgångar från platser över hela världen.

Rådgör med en prestandaexpert

Om du är bekant med webbplatsoptimering är detta ett valfritt steg. En expert kan hjälpa dig att analysera alla aspekter av dina webbplatser, identifiera flaskhalsar och implementera lösningar.