Om een WordPress site soepel en efficiënt te laten werken, is het goed om een aantal technische elementen te begrijpen, zoals PHP geheugenlimieten en PHP workers. Maar wat betekenen deze termen precies en welke invloed hebben ze op de prestaties van je WordPress site?

Zie je WordPress site als een drukke koffietent. De PHP geheugenlimiet is als de opslagruimte voor koffiebonen, melk en andere ingrediënten. Als de opslagruimte te klein is, zullen je barista’s (PHP processen) moeite hebben om efficiënt drankjes te maken omdat ze steeds zonder voorraad komen te zitten. Aan de andere kant zijn PHP workers de barista’s die je in dienst hebt. Meer barista’s betekent dat er meer drankjes tegelijk kunnen worden bereid, waardoor de wachttijd voor klanten korter wordt.

Dit artikel geeft uitleg over de geheugenlimiet van PHP en PHP workers, wanneer je deze moet aanpassen voor optimale prestaties en hoe je dit doet op Kinstas servers.

Wat is een PHP geheugenlimiet?

Elke keer dat je site een pagina laadt, een plugin activeert of een feature van een thema gebruikt, worden PHP scripts uitgevoerd en die hebben geheugen nodig om goed te functioneren. De PHP geheugenlimiet bepaalt tot hoeveel geheugen je WordPress site toegang heeft.

Je wilt een PHP geheugenlimiet die hoog genoeg is zodat je site alle taken aankan zonder tegen problemen aan te lopen zoals:

  • Traag laden van pagina’s – Niet genoeg geheugen kan de uitvoering van PHP scripts vertragen, wat leidt tot langere laadtijden van pagina’s.
  • Uitval van pluginsPlugins die veel resources gebruiken kunnen niet goed werken als ze niet genoeg geheugen hebben.
  • White screen of death – Als een PHP script te weinig geheugen heeft, kan je site een leeg wit scherm weergeven in plaats van goed te laden.

Wat zijn PHP workers?

PHP workers zijn een ander cruciaal onderdeel dat de prestaties van je WordPress site beïnvloedt. Workers zijn achtergrondprocessen op een server die de uitvoering van de PHP-code beheren die je site aandrijft.

In WordPress zijn deze workers verantwoordelijk voor het bouwen van pagina’s, het verwerken van geplande taken en meer. Ze genereren ook HTML-pagina ’s voor de bezoekers van je site en bepalen hoeveel gelijktijdige ongecacheerde verzoeken je site op elk moment kan verwerken.

Wanneer een bezoeker je WordPress site bezoekt, wordt er een verzoek naar de server gestuurd, dat vervolgens wordt verwerkt door een PHP worker. Er kunnen meerdere verzoeken tegelijk worden verwerkt als je site meerdere PHP workers heeft. Als je site bijvoorbeeld twee PHP workers heeft en er komen vijf verzoeken tegelijk binnen, dan worden er twee onmiddellijk verwerkt, terwijl de andere drie in de wachtrij wachten tot de eerste twee zijn voltooid.

Dit wachtrijsysteem helpt bij het beheren van het verkeer, maar het betekent ook dat onvoldoende PHP-workers kunnen leiden tot vertragingen en tragere reactietijden als er meerdere verzoeken tegelijk binnenkomen.

PHP geheugenlimieten beheren

Kinsta’s standaard PHP geheugenlimiet is 256MB, wat meer dan genoeg is voor de meeste WordPress plugins en sites.

Het is ook belangrijk om te weten dat als je de limiet te hoog instelt, een verkeerd geconfigureerd of kapot script ernstige problemen kan veroorzaken wanneer het te veel geheugen gebruikt.

Wanneer PHP geheugenlimiet verhogen

Het verhogen van de PHP geheugenlimiet kan essentieel zijn voor het handhaven van de prestaties en stabiliteit van je WordPress site wanneer je te maken hebt met resource-intensieve taken.

De meest voorkomende tekenen dat je PHP geheugenlimiet moet worden verhoogd is wanneer je foutmeldingen tegenkomt als “Allowed memory size exhausted.” Dit geeft aan dat de huidige geheugenlimiet onvoldoende is voor het uitvoeren van taken.

Hier is een voorbeeld van hoe de foutmelding eruit kan zien:

PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes)

Deze melding betekent dat het PHP-script meer geheugen probeerde toe te wijzen dan de toegestane 256MB (268.435.456 bytes), wat resulteerde in een memory exhausted error. Het script probeerde nog eens 20KB (20.480 bytes) toe te wijzen, maar kwam geheugen tekort.

Als je site wordt gehost op Kinsta, worden deze fouten door geheugenuitputting automatisch gelogd. Je kunt op deze fouten controleren op het MyKinsta dashboard. Navigeer naar je site en selecteer het tabblad Logs.

WordPress site's MyKinsta error log
Het MyKinsta foutenlogboek van je WordPress site.

Zoek naar vermeldingen met “PHP Fatal Error” en “Allowed Memory Size Exhausted”. Deze logs geven de exacte geheugenlimiet aan die is overschreden en het extra geheugen dat het script probeerde toe te wijzen.

Door deze logs in de gaten te houden, kun je vaststellen of je site vaak de PHP geheugenlimiet overschrijdt en beslissen of je de geheugentoewijzing moet verhogen om een soepele uitvoering van het script te garanderen.

Hoe je de PHP geheugenlimiet van je site kunt verhogen

Wanneer de PHP geheugenlimiet van een site moet worden verhoogd, kunnen klanten van Kinsta een PHP geheugenlimiet add-on kopen.

Deze add-on verhoogt de geheugenlimiet van 256 MB naar 512 MB voor $50 per site per maand.

Neem om deze add-on aan te schaffen contact op met het Account Management team via de live chat in het MyKinsta dashboard of stuur een e-mail naar [email protected].

PHP workers beheren

PHP workers zijn vooral belangrijk voor sites die niet veel van hun inhoud cachen. Hoe dynamischer een site is, hoe meer PHP workers deze nodig heeft. Cached content heeft geen PHP workers nodig; het is alleen nodig wanneer de site de database raadpleegt om informatie op te halen of te wijzigen of wanneer het andere PHP scripts moet uitvoeren.

Dit betekent dat effectieve caching de werklast van PHP workers aanzienlijk kan verminderen door inhoud in de cache te serveren in plaats van deze dynamisch te genereren voor elk verzoek.

Bij Kinsta geven we prioriteit aan de prestaties van je site door verschillende technologieën te implementeren om de prestaties van PHP te maximaliseren. We bieden page caching op CDN- en serverniveau, maken gebruik van premium servers (C2 en C3D virtuele machines) die zijn uitgerust met de snelste CPU’s van Google Cloud, en zorgen voor een sterk geoptimaliseerde MySQL server die lokaal wordt gehost om de netwerklatentie te verminderen en het ophalen en verwerken van gegevens te verbeteren.

Wanneer meer PHP workers toevoegen

Het aantal PHP workers dat nodig is hangt af van verschillende factoren, waaronder de afhankelijkheid van database queries, code optimalisatie en het type verkeer dat het ontvangt.

Een geoptimaliseerde site met efficiënte PHP code en database queries zal verzoeken snel verwerken, waardoor PHP workers vrij zijn voor het volgende verzoek.

Dynamische sites zoals e-commerce winkels, forums, leersites en lidmaatschapssites hebben meestal meer PHP workers nodig dan statische, portfolio-achtige sites. Bovendien hebben drukkere sites meestal meer PHP workers nodig om het toegenomen verkeer aan te kunnen.

Het toevoegen van meer PHP workers kan helpen bij het verwerken van meer verkeer en het verminderen van wachttijden voor het verwerken van verzoeken, maar het is essentieel om dit in balans te brengen met beschikbare CPU en RAM resources. Als de server niet genoeg CPU en RAM heeft om extra PHP workers te ondersteunen, kan dit een knelpunt veroorzaken, wat kan leiden tot prestatieproblemen.

Met Kinsta kun je de activiteit van PHP workers controleren met behulp van Kinsta’s APM-tool om prestatieproblemen en trage query’s te identificeren.

Kinsta APM tool in MyKinsta.
Kinsta APM tool in MyKinsta.

Als je site regelmatig de PHP worker limiet bereikt, moet je misschien meer PHP workers toevoegen of de code en query’s van je site optimaliseren om de prestaties te verbeteren.

Hoe meer PHP workers toevoegen

Om meer PHP workers aan je site toe te voegen, kun je je hostingpakket upgraden of extra PHP workers kopen. Hier lees je hoe je dat kunt doen:

  • Upgrade je hostingpakket– Elk Kinsta plan heeft een specifiek aantal PHP workers. Upgraden naar een hoger plan verhoogt het aantal PHP workers van je site. Als je bijvoorbeeld van een startersplan naar een businessplan gaat, verhoog je het aantal PHP workers van twee naar vier.
  • Aangepaste pakketten– Voor sites met specifieke behoeften biedt Kinsta aangepaste pakketten waarbij je het aantal benodigde PHP workers kunt specificeren. Dit is ideaal voor sites met veel verkeer of sites met veel dynamische content. Neem contact op met het salesteam van Kinsta om je wensen te bespreken en een offerte op maat te ontvangen.

Door het aantal PHP workers te verhogen, kun je je site helpen meer gelijktijdige verzoeken af te handelen, wat leidt tot betere prestaties en een soepelere gebruikerservaring.

Zorg er echter altijd voor dat je server voldoende CPU en RAM resources heeft om de extra PHP workers te ondersteunen, zodat er geen prestatieproblemen ontstaan.

Beste werkwijzen voor PHP resource management

Effectief beheer van PHP resources is cruciaal voor het handhaven van de prestaties en stabiliteit van je WordPress site.

Hier zijn enkele best practices om je PHP geheugen en worker gebruik te optimaliseren:

  1. Efficiënte caching – Het implementeren van robuuste cachingmechanismen kan de belasting van PHP workers aanzienlijk verminderen. Door content vanuit de cache aan bezoekers aan te bieden, minimaliseer je het aantal verzoeken dat door PHP workers moet worden verwerkt, waardoor ze vrij zijn voor meer dynamische taken.
  2. Optimaliseer code en query’s – Zorg ervoor dat je PHP code en database query’s goed geoptimaliseerd zijn. Efficiënte code-uitvoering en gestroomlijnde database-interacties verminderen de verwerkingstijd, waardoor PHP workers meer verzoeken in minder tijd kunnen verwerken.
  3. Upgrade PHP versies – Werk regelmatig bij naar de nieuwste PHP versies, vaak inclusief prestatieverbeteringen en beveiligingsverbeteringen. Nieuwere versies van PHP zijn meestal sneller en efficiënter.
  4. Monitor het gebruik van resources – Gebruik tools zoals Kinsta’s APM of Query Monitor om het gebruik van resources te evalueren. Monitoring helpt bij het in real-time identificeren van knelpunten en inefficiënties, zodat je direct corrigerende maatregelen kunt nemen.

Samenvatting

Het effectief beheren van PHP resources is cruciaal voor de prestaties en stabiliteit van WordPress sites die worden gehost op Kinsta. Dit artikel heeft PHP geheugenlimieten en PHP workers, hun rol en hoe je het gebruik ervan kunt optimaliseren onderzocht.

Voor persoonlijke aanbevelingen of om je PHP geheugenlimiet of PHP workers te verhogen, kun je een nieuw ticket openen of een e-mail sturen naar [email protected].

Joel Olawanle Kinsta

Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.