Wist je dat er één gegeven is dat de prestaties van je WordPress website enorm beïnvloedt?

Bij het zoeken naar snelle WordPress prestaties kun je terechtkomen bij artikelen die wel 20 of 30 goede raadgevingen bieden. Factoren zoals het gebruik van bepaalde plugins, het draaien van een slanke WordPress website, met behulp van caching en moderne software. Maar vaak is er een belangrijke factor weggelaten voor snelle WordPress prestaties - zelfs door hosting bedrijven.

En dat is het feit dat de prestaties van WordPress enorm beïnvloed worden door de CPU. De CPU van de server waar WordPress op draait. Dat komt vooral omdat WordPress single-threaded is en PHP en MySQL gebruikt . En wat betekent dat? Dat ontdekken we in dit artikel.

WordPress is single-threaded

WordPress is, net als veel software, single-threaded. Dit betekent dat één proces tegelijk kan worden uitgevoerd, en dat de instructies in een proces lineair worden uitgevoerd. Eén voor één.

En zoals je misschien weet, als je een WordPress website op een server host, draait die eigenlijk op een computer die met het internet verbonden is (wat eigenlijk de definitie van een server is). En die server heeft een bepaalde hoeveelheid geheugen, een bepaalde CPU en een bepaalde hoeveelheid opslagruimte.

Een CPU kan een of meer kernen hebben, en elk van deze kernen loopt met een bepaalde kloksnelheid - meestal aangegeven met Mhz of GHz. Meestal geldt: hoe hoger de kloksnelheid, hoe sneller de processor instructies kan verwerken.

En zoals je misschien ook weet, gebruikt WordPress MySQL om zijn gegevens op te slaan, en PHP om pagina's te verwerken. Elk proces van MySQL of PHP is verbonden aan een enkele kern van de server. Zodra een core een bepaald proces beëindigd heeft, kan hij verder gaan met het volgende proces.

Laten we zeggen dat je een eenvoudige WordPress post laadt om te bewerken. Zelfs voor zo'n geval vinden er meerdere processen plaats.

  • WordPress moet de post uit de database halen
  • Vervolgens moet alle meta-informatie over de post uit de database geladen worden.
  • De pagina moet ook gegenereerd worden.

Als je server maar één core heeft, vinden al deze processen achtereenvolgens plaats. Als je nu bijvoorbeeld meerdere tabbladen opent om een bericht te bewerken, moet de website wachten voordat de processor klaar is met de eerdere belasting.

En dat is de reden waarom als je meerdere tabbladen tegelijk opent om een bericht te bewerken, ze allemaal trager kunnen laden. Met meerdere cores kan het echter elk van deze processen over een andere core verdelen en kan het sneller gaan. Maar nogmaals, elke core kan maar één proces tegelijk aan - dit proces kan niet in stukjes worden geknipt en over meerdere cores worden verdeeld.

Snelle CPU's, snel geheugen, snelle WordPress prestaties

In essentie betekent dit dat hoe sneller je core is, hoe sneller hij de instructies kan verwerken. De knelpunt is de kloksnelheid van je CPU. De processen zijn pas klaar als de CPU ze voltooid heeft, en hoe sneller de kloksnelheid is, hoe sneller hij ze zal voltooien.

Bijvoorbeeld, hoe sneller de CPU klok, hoe sneller je WordPress back-end laadt telkens als je naar een admin pagina navigeert of een actie in je backend doet.

Met meervoudige kernen kun je echter meerdere (verschillende) processen tegelijk laten draaien. Dit betekent in feite dat de server meer gebruikers tegelijk aankan - of meer processen die tegelijk draaien. En laat je toe meer tabbladen met bewerkingsberichten tegelijk te openen.

O, en voor MySQL helpt het veel als je ook snel geheugen hebt.

Laten we eens wat BenchMarking doen

Ik heb een benchmark plugin gemaakt (hij staat hier op Github ook) die ik gebruik om hosting bedrijven te testen. Deze plugin voegt queries in en verwijdert een aantal berichten en registreert de tijd voor elke actie. Het is een prima test voor de CPU en geheugen prestaties van je server. Bovendien doe ik een load testing benchmark, waarbij ik een bepaald aantal gebruikers simuleer die de website bezoeken.

Snel CPU LSCPU scherm, snelle WordPress prestaties.
De CPU gegevens voor de server - draaien op een basisklok van 3.4GHZ.

Ik deed deze benchmark op een zeer snelle server van Webdock, wat een geweldige server provider is.

Berichten invoegen: Een single-thhreaded Benchmark

In de onderstaande afbeelding liet ik een test twee keer lopen. De eerste test was op een server met slechts één CPU core, en in de tweede test schaalde ik de server op naar twee cores.

Snelle WordPress prestaties: Single Threaded Test

Zoals je ziet, is er nauwelijks verschil.

Eén kernTwee kernen
13.591 seconden13.788 seconden
De voltooiingstijd van het invoegen, opvragen en verwijderen van 10000 berichten

Dit laat duidelijk zien wat het betekent voor WordPress om single-threaded te zijn. Het benchmarking proces kan gewoon door één CPU kern tegelijk afgehandeld worden, en dit loopt zo snel als de kern is.

Meervoudige gebruikers: De invloed van meervoudige kernen

Maar wanneer heb je dan meerdere cores nodig? Het meest voorkomende geval is dat hoe meer cores je hebt, hoe meer (ongecacheerde) gebruikers of bezoekers je website aankan.

Ik deed een eenvoudige benchmark met behulp van h2load dat de verzoeken per seconde test, en dit zijn de resultaten:

Eén kernTwee kernen
25,84 verzoeken per seconde45.32 verzoeken per seconde
Het aantal verzoeken per seconde dat de testserver aankan.

Zoals je ziet, kunnen de processen die door meerdere gebruikers gestart worden meestal over de kernen verdeeld worden. In de benchmark wordt dit duidelijk gedemonstreerd.

Snelle WordPress prestaties Eén CPU kern
De resultaten met één core - 25.84 verzoeken per seconde
Snelle WordPress prestaties Twee CPU cores
De resultaten met twee kernen - 45.32 verzoeken per seconde

In deze test simuleer ik 10 gebruikers, en vuur 100 verzoeken af. De test laat zien hoeveel verzoeken per seconde de server aankan. Hoe sneller je CPU kloksnelheid is, hoe hoger dit getal zal zijn. Maar dit getal zal ook schalen als je meer cores hebt.

Een geweldige CPU, een snelle WordPress Site

Dus als je op zoek bent naar een goede WordPress hosting provider, kijk ook of ze snelle CPU's gebruiken. Niet alleen het aantal kernen telt, maar ook de kloksnelheid.

En als je je servers graag zelf beheert, kijk dan eens naar het aanbod van Webdock, Upcloud of Vultr Hoge Frequentie. Deze partijen bieden allemaal snelle kernen. Geweldige CPU's voor een snelle WordPress prestatie!