PHP-arbejdere behandler et websteds PHP-kode. Dette omfatter opbygning af sider, behandling af baggrundsopgaver, forespørgsel i databasen osv.

En måde at tænke på PHP-arbejdere er som ansatte i en butik. Hver medarbejder kan kun håndtere én anmodning ad gangen. Hvis der er flere kunder, end der er arbejdere, skal disse kunder (processer) stå i kø og vente på, at den næste ledige arbejder håndterer deres anmodning.

PHP-arbejdere kommer virkelig i spil, når et websted ikke eller ikke kan cache det meste af sit indhold. Jo mere dynamisk et websted er, jo flere PHP-arbejdere vil det sandsynligvis have brug for. Cachelagt indhold kræver ikke PHP-arbejdere, de er egentlig kun nødvendige, når webstedet skal forespørge databasen for at få eller ændre information.

WordPress og PHP Arbejdere

En ikke-cached anmodning på et WordPress-websted ser normalt sådan ud:

  1. En besøgende besøger en side eller udfører en handling på en side (f.eks. tilføjer noget til en kurv, indsender en formular osv.).
  2. Webserveren (Nginx her hos Kinsta) modtager den anmodning.
  3. Nginx sender anmodningen til PHP.
  4. PHP forespørger i MySQL-databasen og får de oplysninger, den har brug for, eller foretager de nødvendige opdateringer.
  5. PHP bruger derefter dit temas PHP-filer (og eventuelle plugin-filer, hvis det er relevant) til at generere en HTML-side.
  6. PHP sender den gengivede HTML-side tilbage til webserveren.
  7. Siden serveres til den besøgende.

I den ovenfor beskrevne proces er trin 4 det mest tids- og ressourcekrævende (CPU og RAM). Et veloptimeret websted med effektiv PHP-kode og databaseforespørgsler vil behandle dette trin ret hurtigt.

På den anden side vil dårligt skrevet eller uoptimeret PHP-kode og/eller en masse ineffektive databaseforespørgsler tage meget længere tid at komme igennem trin 4. Forespørgsler, der tager længere tid at behandle, monopoliserer PHP-arbejdere i længere perioder.

At anslå antallet af nødvendige PHP-arbejdere

Hvor mange arbejdere et websted har brug for afhænger af flere faktorer, såsom: hvor dynamisk webstedet er, hvor optimeret webstedets kode er (hvor hurtigt anmodninger kan behandles), og hvilken slags trafik webstedet modtager. Et optimeret websted håndterer anmodninger hurtigt og frigør PHP-arbejdere til den næste anmodning i køen.

Dynamiske websteder som e-handelsbutikker, fora, læringswebsteder og medlemssider vil normalt have brug for flere PHP-arbejdere end mere statiske websteder af brochure-type. Jo mere travlt et websted er, jo flere PHP-arbejdere har det normalt brug for.

PHP-arbejdere, CPU og RAM

Når du tilføjer PHP-arbejdere, skal CPU- og RAM-ressourcer tages i betragtning. Hvis du øger PHP-arbejdere, men serveren ikke har nok CPU og RAM til at understøtte disse arbejdere, vil dette skabe en flaskehals, fordi anmodningerne ikke vil blive håndteret effektivt.

Her hos Kinsta er vores brugerdefinerede LXD-containere konfigureret med masser af CPU- og RAM-ressourcer. Ved at bruge compute optimized virtuelle C2-maskiner udstyret med Google Clouds hurtigste CPU’er hjælper vi desuden dit websteds PHP-medarbejdere med at køre mere effektivt. Vores skalerbare infrastruktur sikrer, at dit WordPress-websteds PHP-arbejdere har nok CPU-ressourcer til at fungere optimalt.

Identificer præstationsproblemer relateret til PHP-arbejdere

Hvis for mange anmodninger stables op i køen på grund af en stor tilstrømning af anmodninger, langvarige processer eller en kombination af begge, kan webstedet opleve ydeevneproblemer, der kan resultere i 502- eller 504-fejl.

Brug af værktøjer som Kinstas APM Tool og Query Monitor pluginet kan hjælpe dig med at identificere ydeevneproblemer og langsomme forespørgsler. Vi anbefaler også at arbejde med en kvalificeret performance ekspert for at diagnosticere problemer.

Klik på knappen Aktiver APM for at aktivere den i MyKinsta.
Klik på knappen Aktiver APM for at aktivere den i MyKinsta.

PHP-arbejder grænse diagrammet i MyKinsta analytics viser dig, hvor mange gange det maksimale antal tildelte arbejdere er nået på dit websted. Dette kan hjælpe dig med at afgøre, om dit websted konstant bruger sine PHP-arbejdere og kan også vise dig, hvordan opdatering til en nyere PHP-engine-version kan hjælpe.

PHP arbejdstagergrænse
PHP arbejdstagergrænse

Cacheanalysesektionen i MyKinsta analytics kan bruges til at se dit websteds samlede cache-anmodninger og topcache-omgåelser.

Cache – cache-komponentdiagram
Cache – cache-komponentdiagram
Cache – omgåelse af topcache
Cache – omgåelse af topcache

Reducer og optimer brug af PHP arbejdere

Caching

Sidecaching

Caching er din bedste ven, når det kommer til at optimere dit websted og reducere antallet af nødvendige PHP-arbejdere. Husk, at PHP-arbejdere ikke er nødvendige til cachelagret indhold, så cache alt, hvad du kan. Hos Kinsta sørger vi for sidecache for dig; alle websteder bruger Nginx’s FastCGI cache-modul til superhurtig ydeevne.

Object Caching

Tilføjelse af en vedvarende object cache som Redis foran din database kan øge ydeevnen og reducere behovet for PHP-arbejdere. Uden object caching udføres MySQL-databaseforespørgsler for hver anmodning, selv når det er den samme forespørgsel og resultater.

Redis gemmer resultaterne af databaseforespørgsler i RAM, så PHP kan få fat i disse resultater uden at køre forespørgslen igen. Fjernelse af behovet for gentagne databaseforespørgsler giver PHP-arbejdere mulighed for at spare ressourcer og opfylde anmodninger mere effektivt.

Tjek vores premium add-ons for at lære mere om at tilføje Redis-cache til dit websted.

Kode optimering

Sørg for, at dit websteds kode er optimeret, så det er så effektivt som muligt. Dette gælder tilpasset kode, temakode og plugin-kode. Hvis du ikke er sikker, anbefaler vi, at du beder en udvikler om at gennemgå dit websteds kode.

Brugerdefineret kode

Hvis dit websted indeholder tilpassede kodestykker i plugins eller dit tema, skal du sørge for, at de er virkelig nødvendige og velskrevne.

Plugins

Tag et godt kig på de plugins, der bruges på webstedet, og sørg for, at de virkelig er nødvendige, ikke duplikerer funktioner og er den bedste mulighed for det behov, de opfylder. Hvis nogen plugins ikke er kompatible med den nyeste version af WordPress og PHP, kan det være på tide at overveje andre muligheder. Hvis du har plugins på dit websted, som ikke bliver brugt, anbefales det at fjerne dem.

Tema

Brug et let og performant tema. Undgå temaer, der indeholder funktionalitet, der bedst implementeres via separate plugins (f.eks. SEO, søgefiltrering, tilpassede felter, billedskydere/diasshows osv.), eller som ikke er nødvendige for dit websted.

Opdater PHP

Brug den seneste PHP-version for hurtigere ydeevne. PHP-benchmarks viser, at hver PHP-version er hurtigere end den forrige.

Aktiver Kinstas CDN

Aktivering af Kinstas CDN giver endnu et løft af effektivitet og optimering til dit websted. Kinstas CDN er vores højtydende HTTP/3 CDN drevet af Cloudflare, leveret til dig uden ekstra omkostninger. Med det aktiveret vil dit websted være i stand til at betjene statiske aktiver fra lokationer over hele verden.

Rådfør dig med en performance ekspert

Hvis du er bekendt med webstedsoptimering, er dette et valgfrit trin. En ekspert kan hjælpe dig med at analysere alle aspekter af dine websteder, identificere flaskehalse og implementere løsninger.