Het jaar 2021 was zeer bewogen voor PHP (en Kinsta). PHP 8.0 is inmiddels al een jaar oud en de langverwachte PHP 8.1 werd uitgebracht op 25 november 2021 en bevat veel spannende features. In ons uitgebreide artikel kan je alles lezen over de nieuwste PHP 8.1 features.

Elk jaar brengen we onze uitgebreide prestatiebenchmarks voor verschillende PHP platforms uit om te zien hoe verschillende PHP versies zich verhouden tot elkaar. Dit jaar hebben we 5 verschillende PHP versies gebenchmarkt op 14 unieke PHP platforms/configuraties, waaronder WordPress, Drupal, Joomla, Laravel, Symfony en nog veel meer. We hebben ook andere populaire PHP platforms getest, zoals WooCommerce, Easy Digital Downloads, October CMS en Grav.

Bij Kinsta raden we altijd aan om de nieuwste ondersteunde PHP versies te gebruiken. Ze zijn niet alleen het veiligst, maar ze bieden ook veel prestatieverbeteringen. Vandaag laten we je zien hoe PHP 8.0 en 8.1 bestand zijn tegen bijna alles wat we op ze af sturen.

Ben je er klaar voor? Laten we beginnen!

De staat van PHP

PHP (recursief acroniem voor PHP: Hypertext Preprocessor) is een van de meest gebruikte server-side scripting- en programmeertalen. Het is open source en wordt voornamelijk gebruikt voor webontwikkeling. En aangezien PHP een groot deel van de software van de WordPress core aanstuurt, is het een zeer essentiële taal voor de WordPress gemeenschap.

PHP Logo
PHP logo.

Hoewel je sommige mensen hoort zeggen dat PHP op sterven na dood is, is dit verre van waar. Volgens W3Techs wordt PHP gebruikt door 78.1% van alle websites waarvan de programmeertaal aan de serverzijde bekend is. Dat zijn bijna 4 van de 5 websites!

PHP is springlevend, sneller en beter dan ooit.

PHP staat aan de top van programmeertalen aan de serverzijde.
PHP staat aan de top van programmeertalen aan de serverzijde.

Als dat er voor jou dood uitziet, willen we graag weten wat dan voor jou levend betekent! Zelfs in vergelijking met JavaScript en zijn nieuwe server-side implementaties, staat PHP er fier naast.

Er is echter een groot probleem met de PHP gemeenschap. Veel websites gebruiken nog steeds verouderde versies en niet-ondersteunde PHP installaties. Volgens W3Techs draait 29.9% van de websites nog steeds op PHP 5.6 en lager.

WordPress PHP versies (gemeten 1 februari 2022).
WordPress PHP versies (gemeten 1 februari 2022).

Wat WordPress statistieken betreft, draait slechts 50.6% van de sites op ondersteunde PHP versies. Wat nog erger is, is dat 10.2% van alle WordPress sites draait op PHP 5.6 of lager. Dit is beter dan de algemene PHP gemeenschap, maar veel websites hebben hun achterdeur dus wagenwijd openstaan.

We denken dat er veel redenen zijn voor dit verschijnsel:

  • Gebrek aan voorlichting in de WordPress gemeenschap over PHP en de cruciale rol ervan in WordPress.
  • Compatibiliteitsproblemen met plugins en thema’s die draaien op nieuwere PHP versies (vooral PHP 8.0 en hoger).
  • De onwil van WordPress hostingproviders om nieuwe PHP versies te pushen uit angst om problemen bij hun klanten te creëren.

Kinsta volgt hetzelfde end-of-life (EOL) schema als PHP om dit grote probleem op te lossen. Dit helpt om alle WordPress sites die bij ons worden gehost, zo snel en veilig mogelijk te houden.

Hoe doen Kinsta klanten het ten opzichte van de algemene WordPress community? We waren benieuwd, dus hebben we de cijfers tevoorschijn gehaald.

Dit is het overzicht:

  • 62.22% van de WordPress sites van Kinsta loopt op PHP 7.4.
  • 27.27% van de WordPress sites van Kinsta loopt op PHP 8.0.
  • 10.51% van de WordPress sites van Kinsta loopt op PHP 8.1.

*Per 1 december 2022

We zijn trots én enthousiast over deze cijfers. Het betekent dat de adoptiegraad van PHP onder Kinsta klanten veel hoger is dan de algemene WordPress- en PHP community. En daar worden wij super blij van!

Opmerking: PHP 8.0 bracht veel cruciale veranderingen met zich mee, dus veel gebruikers zijn er nog niet op overgestapt. We verwachten echter dat er binnenkort meer sites zullen overschakelen.

Als je PHP wilt leren, hebben we een lijst samengesteld met een aantal uitstekende PHP tutorials (zowel gratis als betaald).

PHP benchmarks (2023)

Hoewel PHP 7.2, 7.3, en 7.4 niet actief worden ondersteund, draaien er nog steeds veel websites op. Daarom hebben we besloten om vijf verschillende PHP versies te testen, zodat je kunt zien hoe indrukwekkend de nieuwere PHP versies zijn op het gebied van prestaties.

De populairste keuze van dit jaar is natuurlijk de nieuw uitgebrachte PHP 8.1. Het is de nieuwste en meest opwindende ontwikkeling in de PHP wereld, en met een goede reden. Nog niet alle op PHP gebaseerde frameworks en CMS ondersteunen het volledig, maar we hebben er zoveel mogelijk getest.

We hebben voor elke test de nieuwste versie van elk platform gebruikt en een van de URL’s getest door middel van 15 gelijktijdige gebruikers voor 1.000 verzoeken. We hebben meerdere keren gebenchmarkt om ervoor te zorgen dat de resultaten consistent waren. Verder hebben we alleen het gemiddelde van de top 3 resultaten meegenomen.

Hieronder vind je de details van onze testomgeving:

  • Machine: Intel Xeon (30-core CPU), 120 GB RAM, 1 TB HDD. Dit is een compute-optimized (C2) virtuele machine die wordt aangedreven door Google Cloud Platform en wordt uitgevoerd in een geïsoleerde container. Alle pakketten van Kinsta worden overigens aangedreven door deze nieuwe generatie C2 machines.
  • Besturingssysteem: Ubuntu 20.04.1 LTS (Focal Fossa)
  • Webserver: Nginx 1.21.6 (nginx/1.21.6)
  • Database: MariaDB 10.6.7 (MariaDB-1:10.6.7+maria~focal)
  • PHP versies: 7.2, 7.3, 7.4, 8.0, 8.1
  • Paginacaching: uitgeschakeld op alle platforms en configuraties.
  • OPcache: OPcache ingeschakeld op alle platforms en configuraties met behulp van de aanbevolen php.ini instellingen, behalve de opcache.max_accelerated_files waarde die we hebben verhoogd van 4000 naar 50000. De gebruikte OPcache instellingen zijn:
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=50000
opcache.revalidate_freq=2
opcache.fast_shutdown=1
opcache.enable_cli=1

Omdat OPcache de PHP prestaties verbetert door de vooraf gecompileerde script bytecode op te slaan in het gedeelde geheugen van de server, hoeft PHP voor elk verzoek geen scripts te laden en te parsen.

Geteste platforms en configuraties

Onze benchmarks omvatten de volgende 14 PHP platforms/configuraties. Klik op een van deze hieronder om direct naar de testresultaten en opmerkingen te gaan. We hebben de data gemeten in verzoeken per seconde (req/sec). Hoe meer verzoeken, hoe beter.

Omdat de demo-content op elk platform enorm kan variëren, hebben we de onbewerkte prestaties van hun barebone-installaties getest. Het doel hier is om verschillende PHP versies te benchmarken – de CMS’en en frameworks dienen alleen als hulpmiddel. Je moet deze benchmarkresultaten dus niet gebruiken om het ene platform tegen het andere af te wegen, maar hoe het met zichzelf concurreert tussen verschillende PHP versies.

We hebben ook hun grootte en screenshots toegevoegd om je een beter idee te geven van de geteste pagina’s. Sommige zijn klein, andere zijn enorm.

Laten we beginnen!

WordPress 5.9-RC2

WordPress was het eerste platform dat we hebben getest. Het is tenslotte de drijvende kracht achter deze blog die je nu leest en zo’n 43.3% van alle websites op internet draait erop. Het is gratis en open source software waarmee je prachtige websites, blogs en apps kunt maken.

WordPress logo

We zijn begonnen met WordPress 5.9-RC2 (Release Candidate 2), de nieuwste versie, bij het benchmarken voor dit artikel. Het wordt geleverd met het nieuwe Twenty Twenty-Two thema. We hebben de URL gebenchmarkt voor 1.000 verzoeken (ook wel requests genoemd) met 15 gelijktijdige gebruikers. Dezelfde methode werd gebruikt voor alle andere tests.

De geteste WordPress pagina.
De geteste WordPress pagina.

Geteste URL: /hello-world/

  • Thema: Twenty Twenty-Two
  • Opmerkingen: de blogpagina bevat een header met een tekstlogo, navigatiemenu, de hoofdtekst van het artikel, één opmerking en footerwidgets zoals Zoeken, Recente berichten en Recente opmerkingen.
  • Bron afbeelding: WordPress.org
WordPress 5.9-RC2 PHP benchmarks.
WordPress 5.9-RC2 PHP benchmarks.

Benchmarkresultaten

  • WordPress 5.9-RC2 PHP 7.2 benchmarkresultaten: 106.56 req/sec
  • WordPress 5.9-RC2 PHP 7.3 benchmarkresultaten: 108.45 req/sec
  • WordPress 5.9-RC2 PHP 7.4 benchmarkresultaten: 110.24 req/sec
  • WordPress 5.9-RC2 PHP 8.0 benchmarkresultaten: 111.10 req/sec
  • WordPress 5.9-RC2 PHP 8.1 benchmarkresultaten: 163.43 req/sec 🏆

PHP 8.1 is hier de duidelijke winnaar en is 47.10% sneller dan PHP 8.0. Dat is een verrassend resultaat, gezien hoe dicht alle andere resultaten bij elkaar liggen. En als je het vergelijkt met PHP 7.2, kan het meer dan 50% aanvragen (of transacties) per seconde aan.

WordPress op PHP 8.1 kan 47.10% meer verzoeken per seconde aan dan PHP 8.0. Zorg ervoor dat je vandaag nog updatet! 🤘🏽🚀Klik om te tweeten

WordPress 5.9-RC2 + WooCommerce 6.1.1

WooCommerce is een open source e-commerce oplossing voor WordPress. In tegenstelling tot andere populaire e-commerce platforms, is het volledig aanpasbaar en uitbreidbaar. WooCommerce is een van de meest populaire e-commerce plugins in de WordPress community en 14% van alle e-commerce sites op het internet draait op deze software.

WooCommerce logo

Voor onze volgende test hebben we WooCommerce in WordPress geïnstalleerd. We hebben het gratis Storefront thema en de standaardgegevens van WooCommerce gebruikt om de testsite op te zetten. De geteste URL is een enkele productpagina.

De geteste WooCommerce pagina.
De geteste WooCommerce pagina.
  • Geteste URL: /product/hoodie/
  • Thema: Storefront 3.9.1
  • Opmerkingen: De enkele productpagina bevat een header met logo, slogan, navigatiemenu, zoekwidget en winkelwagentje. De body heeft een enkel product met afbeelding, beschrijving, knop Toevoegen aan winkelwagentje, recensies en meerdere zijbalkwidgets. Onderaan staat de widget Gerelateerde producten met drie producten. De pagina bevat ook een uitschuifbare widget aan de zijkant om meer producten te presenteren.
  • Bron afbeelding: WordPress pluginbibliotheek
WordPress 5.9-RC2 + WooCommerce 6.1.1 PHP benchmarks.
WordPress 5.9-RC2 + WooCommerce 6.1.1 PHP benchmarks.

Benchmarkresultaten

  • WordPress 5.9-RC2 + WooCommerce 6.1.1 PHP 7.2 benchmarkresultaten: 130.73 req/sec
  • WordPress 5.9-RC2 + WooCommerce 6.1.1 PHP 7.3 benchmarkresultaten: 137.52 req/sec
  • WordPress 5.9-RC2 + WooCommerce 6.1.1 PHP 7.4 benchmarkresultaten: 141.48 req/sec
  • WordPress 5.9-RC2 + WooCommerce 6.1.1 PHP 8.0 benchmarkresultaten: 141.71 req/sec
  • WordPress 5.9-RC2 + WooCommerce 6.1.1 PHP 8.1 benchmarkresultaten: 147.67 req/sec 🏆

PHP 8.1 is ook de duidelijke winnaar voor WooCommerce. Het versloeg PHP 8.0 met een kleine marge.

Je WooCommerce winkel die draait op PHP 7.2 is 11.47% langzamer dan de winkel van je concurrent op PHP 8.1! Zorg ervoor dat je zo snel mogelijk upgradet! 🛒🚀Klik om te tweeten

WordPress 5.9-RC2 + Easy Digital Downloads 2.11.4.1

Easy Digital Downloads is een gratis e-commerce plugin voor WordPress. Het richt zich volledig op het helpen verkopen van digitale producten (bijv. e-books, software, videogames) en is gemaakt door Pippin’s Plugins (tegenwoordig eigendom van Awesome Motive).

Easy Digital Downloads Logo

Voor Easy Digital Downloads hebben we het gratis Themedd thema en de standaardinhoud gebruikt om de testsite op te zetten. De geteste pagina is een enkele productpagina.

De geteste pagina van Easy Digital Downloads.
De geteste pagina van Easy Digital Downloads.
  • Geteste URL: /downloads/money-buys-happiness/
  • Thema: Themedd
  • Opmerkingen: De enkele productpagina van EDD is licht van gewicht en bevat een afbeelding, beschrijving, koopknop en enkele categorielinks. De header heeft een logo, tagline en winkelwagentje, terwijl de footer basic copyrighttekst bevat.
  • Bron afbeelding: Easy Digital Downloads officiële site
WordPress 5.9-RC2 + Easy Digital Downloads 2.11.4.1 PHP benchmarks.
WordPress 5.9-RC2 + Easy Digital Downloads 2.11.4.1 PHP benchmarks.

Benchmarkresultaten

  • WordPress 5.9-RC2 + Easy Digital Downloads 2.11.4.1 PHP 7.2 benchmarkresultaten: 352.87 req/sec
  • WordPress 5.9-RC2 + Easy Digital Downloads 2.11.4.1 PHP 7.3 benchmarkresultaten: 382.17 req/sec
  • WordPress 5.9-RC2 + Easy Digital Downloads 2.11.4.1 PHP 7.4 benchmarkresultaten: 392.07 req/sec
  • WordPress 5.9-RC2 + Easy Digital Downloads 2.11.4.1 PHP 8.0 benchmarkresultaten: 407.59 req/sec 🏆
  • WordPress 5.9-RC2 + Easy Digital Downloads 2.11.4.1 PHP 8.1 benchmarkresultaten: niet ondersteund 🚫

Op het moment van benchmarking ondersteunde de nieuwste EDD versie PHP 8.1 nog niet. Net als de benchmark van vorig jaar overtreft PHP 8.0 alle andere PHP versies met WordPress en Easy Digital Downloads.

Drupal 9.3.3

Drupal is gratis en open source contentmanagementsoftware. Het is populair vanwege zijn flexibele en modulaire functies. Volgens W3Techs wordt Drupal door 1.3% van alle websites gebruikt, waaronder 2.0% van de websites die een contentmanagementsysteem gebruiken.

Drupal logo

We hebben Drupal geïnstalleerd met een Umami installatieprofiel, een Food Magazine demo-website die de kernfuncties van Drupal demonstreert.

De geteste Drupal pagina.
De geteste Drupal pagina.
  • Geteste URL: /en/articles/dairy-free-and-delicious-milk-chocolate/
  • Thema: Umami Food Magazine
  • Opmerkingen: de geteste pagina is een artikel en bevat veel functies, zoals de zoekwidget, de taalwisselaarwidget, de inlogmodule, de breadcrumbs, de zijbalk met de widget Aanbevolen artikelen, de widget Receptverzamelingen, het aanmeldingsformulier.
  • Bron afbeelding: Drupal.org
Drupal 9.3.3 PHP benchmarks.
Drupal 9.3.3 PHP benchmarks.

Benchmarkresultaten

  • Drupal 9.3.3 PHP 7.2 benchmarkresultaten: niet ondersteund 🚫
  • Drupal 9.3.3 PHP 7.3 benchmarkresultaten: 267.62 req/sec
  • Drupal 9.3.3 PHP 7.4 benchmarkresultaten: 268.84 req/sec
  • Drupal 9.3.3 PHP 8.0 benchmarkresultaten: 289.04 req/sec
  • Drupal 9.3.3 PHP 8.1 benchmarkresultaten: 302.27 req/sec 🏆

Drupal 9.xx heeft een lange weg afgelegd sinds we het voor het laatst hebben gebenchmarkt. Het is niet alleen compatibel met nieuwere PHP versies, maar het presteert zelfs uitzonderlijk goed. We zijn benieuwd hoe het zich in de toekomst gaat ontwikkelen!

Joomla! 4.0.6

Joomla! is een ander gratis en open source contentmanagementsysteem. Het werd voor het eerst uitgebracht in 2005 en is het op één na populairste open source CMS dat tegenwoordig wordt gebruikt. Volgens W3Techs wordt Joomla! gebruikt door 1.7% van alle websites die ze tracken.

Joomla! logo

Voor de Joomla! benchmark, hebben we de gratis Cassiopeia template gebruikt die bij alle Joomla! 4.x distributies inbegrepen zit.

De geteste Joomla! pagina.
De geteste Joomla! pagina.
  • Geteste URL: / (homepagina)
  • Thema: Cassiopeia
  • Opmerkingen: Joomla! is geïnstalleerd met “Default English (GB) Sample Data” die essentiële content aan de site toevoegt. De startpagina bevat een paar alinea’s met inhoud, een zoekwidget en andere basiswidgets in de zijbalk, zoals inlogformulier, populaire tags en nieuwste artikelen.
  • Bron afbeelding: Joomla.org
Joomla! 4.0.6 PHP benchmarks.
Joomla! 4.0.6 PHP benchmarks.

Benchmarkresultaten

  • Joomla! 4.0.6 PHP 7.2 benchmarkresultaten: 38.18 req/sec
  • Joomla! 4.0.6 PHP 7.3 benchmarkresultaten: 39.41 req/sec
  • Joomla! 4.0.6 PHP 7.4 benchmarkresultaten: 39.57 req/sec
  • Joomla! 4.0.6 PHP 8.0 benchmarkresultaten: 39.84 req/sec
  • Joomla! 4.0.6 PHP 8.1 benchmarkresultaten: 41.97 req/sec 🏆

Na wat haperingen is Joomla! is weer op stoom. De resultaten volgen een inmiddels bekend patroon – PHP 8.1 is de onbetwiste kampioen, op de voet gevolgd door PHP 8.0 en dan de rest.

Grav 1.7.29

Grav is een opensource flat-file CMS. Het vereist geen database om te werken, maar is toch rijk aan features. Grav zoekt naar inhoud uit tekstbestanden. Dat maakt het lichtgewicht en eenvoudig te installeren op bijna elke server.

Grav CMS logo

Bij het uitvoeren van deze test had Grav PHP 7.3 en hoger nodig om te werken. We gebruikten het Base Grav pakket dat een standaard landingspagina voor de test biedt.

De geteste Grav pagina.
De geteste Grav pagina.
  • Geteste URL: / (homepagina)
  • Thema: Quark
  • Opmerkingen: de testpagina is een eenvoudige pagina met veel content, waaronder header, logo, navigatiemenu en footer. Grav Core Caching is uitgeschakeld om de onbewerkte prestaties van PHP te testen.
  • Bron afbeelding: Officiële site Grav
Grav 1.7.29 PHP benchmarks.
Grav 1.7.29 PHP benchmarks.

Benchmarkresultaten

  • Grav 1.7.29 PHP 7.2 benchmarkresultaten: niet ondersteund 🚫
  • Grav 1.7.29 PHP 7.3 benchmarkresultaten: 1800.07 req/sec
  • Grav 1.7.29 PHP 7.4 benchmarkresultaten: 1848.02 req/sec
  • Grav 1.7.29 PHP 8.0 benchmarkresultaten: 1931.72 req/sec
  • Grav 1.7.29 PHP 8.1 benchmarkresultaten: 2137.43 req/sec 🏆

PHP 8.1 is de onbetwiste winnaar voor Grav, op de voet gevolgd door PHP 8.0 en de rest.

Omdat het een relatief nieuw CMS is, heeft het een kleiner marktaandeel dan WordPress. Daarom kan het de ondersteuning voor oudere PHP versies vrij snel laten vallen. Dat is een van de belangrijkste voordelen van moderne CMS’en.

OctoberCMS 1.3.1

OctoberCMS is een CMS dat is gebaseerd op het Laravel PHP framework. OctoberCMS was oorspronkelijk gratis en open source, maar is nu een betaald platform na het wijzigen van het licentiemodel in 2021. Het is populair onder ontwikkelaars om dynamische websites te maken waarbij de kracht van Laravel wordt ingezet. Volgens W3Techs beheert OctoberCMS slechts 0.1% van de websites.

October

Voor de testsite gebruikten we het standaard demothema van OctoberCMS. Het is een responsief thema met een goed gedefinieerde lay-out.

De geteste OctoberCMS pagina.
De geteste OctoberCMS pagina.
  • Geteste URL: /
  • Thema: demothema
  • Opmerkingen: de geteste pagina heeft veel elementen, inclusief logo, navigatiemenu, tekstsecties, code-embeds, enz. We hebben de documentatie gevolgd met betrekking tot het verbeteren van de prestaties om ervoor te zorgen dat alles zo efficiënt mogelijk werkt. Op het moment van schrijven vereist OctoberCMS PHP 7.2+ om te draaien en ondersteunt het PHP 8.1 nog niet.
  • Bron afbeelding: OctoberCMS officiële site
OctoberCMS 1.3.1 PHP benchmarks.
OctoberCMS 1.3.1 PHP benchmarks.

Benchmarkresultaten

  • OktoberCMS 1.3.1 PHP 7.2 benchmarkresultaten: 417.13 req/sec
  • OktoberCMS 1.3.1 PHP 7.3 benchmarkresultaten: 458.63 req/sec
  • OktoberCMS 1.3.1 PHP 7.4 benchmarkresultaten: 532.65 req/sec
  • OktoberCMS 1.3.1 PHP 8.0 benchmarkresultaten: 640.08 req/sec 🏆
  • OctoberCMS 1.3.1 PHP 8.1 benchmarkresultaten: Niet ondersteund 🚫

PHP 8.0 is hier de duidelijke winnaar. OctoberCMS verwerkte 20.16% meer verzoeken per seconde op PHP 8.0 dan op PHP 7.4. We zijn benieuwd hoe de volgende grote update presteert op PHP 8.1.

Laravel 8.80.0

Laravel is vandaag de dag het meest populaire PHP framework. Het werd uitgebracht in juni 2011 en is gemaakt door Taylor Otwell. Je kan Laravel gebruiken om bijna elke webtoepassing te ontwikkelen, inclusief CMS, e-commerce sites, apps en nog veel meer.

Laravel logo

We hebben de standaard Laravel landingspagina gebruikt om Laravel te benchmarken.

Zoals Laravel oprichter Taylor Otwell al eerder heeft opgemerkt, moet je deze benchmarkresultaten niet gebruiken om Laravel te vergelijken met andere PHP frameworks. Het doel hier is om te zien hoe Laravel presteert op verschillende PHP versies wanneer al het andere verder constant is.

De geteste Laravel pagina.
De geteste Laravel pagina.
  • Geteste URL: / (homepagina)
  • Thema: gewone HTML
  • Opmerkingen: de geteste pagina bevat veel essentiële HTML elementen. Hoewel het geen volwaardige webtoepassing is, is het doel om PHP te benchmarken in plaats van Laravel.
  • Bron afbeelding: officiële repository van Laravel
Laravel 8.80.0 PHP benchmarks.
Laravel 8.80.0 PHP benchmarks.

Benchmarkresultaten

  • Laravel 8.80.0 PHP 7.2 benchmarkresultaten: niet ondersteund 🚫
  • Laravel 8.80.0 PHP 7.3 benchmarkresultaten: 2278.86 req/sec
  • Laravel 8.80.0 PHP 7.4 benchmarkresultaten: 2303.23 req/sec
  • Laravel 8.80.0 PHP 8.0 benchmarkresultaten: 2376.40 req/sec 🏆
  • Laravel 8.80.0 PHP 8.1 benchmarkresultaten: 2002.94 req/sec

Het is goed om te zien dat Laravel de nieuwste PHP versie ondersteunt. PHP 8.0 is de onbetwiste kampioen bij Laravel, terwijl PHP 8.1 als laatste over de finishlijn ging. Hier is dus wat ruimte voor verbetering. Misschien levert de zojuist uitgebrachte Laravel 9 interessante resultaten op, maar dat is iets voor onze volgende benchmarks.

Symfony 5.4.2

Symfony is een set herbruikbare PHP componenten en een PHP framework om webapplicaties, API’s, microservices en webservices te bouwen. Het is gratis en open source software en werd uitgebracht op 22 oktober 2005.

Symfony

Hoewel Symfony zijn 6.x-versie heeft uitgebracht, ondersteunt het alleen PHP 8.0 en hoger. Daarom hebben we besloten dat het beter is om de nieuwste versie 5.4.2 te gebruiken voor het benchmarken van PHP.

Je kan Symfony installeren met een demo-applicatie. Het is een CMS app die als reference dienst doet en die laat zien hoe Symfony en zijn verschillende functies het beste kunnen worden gebruikt. We hebben de homepagina van deze demo-applicatie gebruikt om Symfony te benchmarken.

De geteste Symfony pagina.
De geteste Symfony pagina.
  • Geteste URL: / (homepagina)
  • Thema: Symfony Demo
  • Opmerkingen: de geteste pagina bevat een header met logo, homepaginalink, zoekwidget, taalwisselaarwidget en blogroll met veel berichten. Ook is er een zijbalk met widgets zoals een klein tekstvak, ‘Show code’ en ‘Blogposts RSS’.
  • Bron afbeelding: officiële repository van Symfony
Symfony 5.4.2 PHP benchmarks.
Symfony 5.4.2 PHP benchmarks.

Benchmarkresultaten

  • Symfony 5.4.2 PHP 7.2 benchmarkresultaten: niet ondersteund 🚫
  • Symfony 5.4.2 PHP 7.3 benchmarkresultaten: 416.18 req/sec
  • Symfony 5.4.2 PHP 7.4 benchmarkresultaten: 434.95 req/sec
  • Symfony 5.4.2 PHP 8.0 benchmarkresultaten: 443.79 req/sec
  • Symfony 5.4.2 PHP 8.1 benchmarkresultaten: 524.78 req/sec 🏆

Met Symfony is er een enorm verschil tussen PHP 8.1 en de rest. Symfony draait bijvoorbeeld 20.65% sneller op PHP 8.1 dan op PHP 7.4.

Symfony op PHP 8.1 kan 20.65% meer verzoeken per seconde aan dan PHP 7.4 ⏩⚡Klik om te tweeten

CodeIgniter 4.1.8

CodeIgniter is een PHP framework met een kleine footprint. De nieuwste versie is bijvoorbeeld een download van slechts 1.2 MB. Het is gemaakt door EllisLab en wordt gepromoot door het British Columbia Institute of Technology. Je kunt CodeIgniter nog steeds gebruiken om complete web-apps te ontwikkelen, ondanks zijn grootte.

CodeIgniter logo

Voor het benchmarken van CodeIgniter hebben we een demo-applicatie opgezet met behulp van hun officiële tutorial. Het gebruikt een eenvoudig HTML thema en geeft veel “News” items weer.

De geteste CodeIgniter pagina.
De geteste CodeIgniter pagina.
  • Geteste URL: /news/
  • Thema: gewone HTML
  • Opmerkingen: de geteste pagina bevat een lijst met nieuwsitems met titel, inhoud en link naar de hoofdcontent. De database bevat 1 tabel “News” met 1000 rijen aan nieuwsitems, met kolommen -> id, titel, slug, body. De pagina was verbonden met de database en toonde alle berichten in de tabel. De CodeIgniter app bevat 1 route en 1 controller om deze content weer te geven.
  • Bron afbeelding: CodeIgniter.com officiële site
CodeIgniter 4.1.8 PHP benchmarks.
CodeIgniter 4.1.8 PHP benchmarks.

Benchmarkresultaten

  • CodeIgniter 4.0.4 PHP 7.2 benchmarkresultaten: niet ondersteund 🚫
  • CodeIgniter 4.0.4 PHP 7.3 benchmarkresultaten: niet ondersteund 🚫
  • CodeIgniter 4.0.4 PHP 7.4 benchmarkresultaten: 1907.33 req/sec
  • CodeIgniter 4.0.4 PHP 8.0 benchmarkresultaten: 1770.33 req/sec
  • CodeIgniter 4.0.4 PHP 8.1 benchmarkresultaten: 1920.51 req/sec 🏆

PHP 8.1 is de snelste met CodeIgniter en voert 8.48% meer verzoeken per seconde uit dan PHP 8.0. Het was echter verrassend om te ontdekken dat PHP 7.4 veel beter presteerde dan PHP 8.0 – het is zelfs bijna gelijk aan PHP 8.1.

CakePHP 4.3.4

CakePHP is een open source webframework voor het ontwikkelen van PHP applicaties. Het belooft het bouwen van webapplicaties eenvoudiger, sneller te maken met bovendien met minder code.

CakePHP logo

Om CakePHP te benchmarken, hebben we de standaard landingspagina gebruikt. We hebben deze aangesloten op een database voordat we gingen benchmarken.

De geteste CakePHP pagina.
De geteste CakePHP pagina.
  • Geteste URL: / (homepagina)
  • Thema: gewone HTML
  • Opmerkingen: De geteste pagina is een eenvoudige HTML landingspagina met enkele styles. Het geeft beknopte informatie over de huidige CakePHP installatie.
  • Bron afbeelding: CakePHP officiële repository
CakePHP 4.3.4 PHP benchmarks.
CakePHP 4.3.4 PHP benchmarks.

Benchmarkresultaten

  • CakePHP 4.2.2 PHP 7.2 benchmarkresultaten: 743.46 req/sec
  • CakePHP 4.2.2 PHP 7.3 benchmarkresultaten: 874.69.28 req/sec
  • CakePHP 4.2.2 PHP 7.4 benchmarkresultaten: 954.30 req/sec
  • CakePHP 4.2.2 PHP 8.0 benchmarkresultaten: 973.02 req/sec 🏆
  • CakePHP 4.2.2 PHP 8.1 benchmarkresultaten: 918.21 req/sec

Verrassend genoeg spant PHP 8.0 de kroon wat betreft CakePHP. Alle benchmarkresultaten eindigen echter te dicht in de buurt van elkaar om een definitieve winnaar uit te roepen. PHP 8.1 is slechts 5.6% langzamer dan PHP 8.0. Toekomstige updates van CakePHP 4.3.x kunnen dit verschil oplossen.

Craft CMS 3.7.30.1

Craft CMS is een open source contentmanagementsysteem dat zich richt op gebruiksvriendelijkheid. De backend is volledig aanpasbaar. Met een ingebouwde tool om aangepaste veldlay-outs voor verschillende contenttypes te ontwerpen, maakt Craft CMS het supereenvoudig om met custom contenttypes te werken.

Als je van plan bent een custom e-commerce winkel te maken, kies dan voor Craft Commerce. En voor een lokale ontwikkelomgeving voor Craft CMS is er ook Craft Nitro.

Craft CMS logo

Voor de Craft CMS benchmark hebben we de standaard admin loginpagina gebruikt. Het is een eenvoudige inlogpagina met een inlogformulier om toegang te krijgen tot de backend van de site.

De geteste Craft CMS pagina.
De geteste Craft CMS pagina.
  • Geteste URL: /admin/login/
  • Thema: Standaard
  • Opmerkingen: De geteste pagina is een simpele inlogpagina met een formulier.
  • Bron afbeelding: Craft CMS officiële repository
Craft CMS 3.7.30.1 PHP benchmarks.
Craft CMS 3.7.30.1 PHP benchmarks.

Benchmarkresultaten

  • Craft CMS 3.5.17.1 PHP 7.2 benchmarkresultaten: 75.32 req/sec
  • Craft CMS 3.5.17.1 PHP 7.3 benchmarkresultaten: 74.69 req/sec
  • Craft CMS 3.5.17.1 PHP 7.4 benchmarkresultaten: 81.68 req/sec
  • Craft CMS 3.5.17.1 PHP 8.0 benchmarkresultaten: 417.21 req/sec
  • Craft CMS 3.5.17.1 PHP 8.1 benchmarkresultaten: 443.18 req/sec 🏆

PHP 8.1 nam de eerste plaats in bij Craft CMS. In tegenstelling tot onze vorige benchmarks ondersteunt Craft CMS nu zowel PHP 8.0 als PHP 8.1 – wat geweldig is!

Kirby 3.6.1.1

Kirby is een flat-file CMS gericht op het maken en publiceren van content. Hoewel de broncode openbaar beschikbaar is, is deze niet gratis te gebruiken op een openbare server. Met Kirby kan je je bewerkingsinterface aanpassen met formulieren, artikelen, galerijen, spreadsheets en meer.

Kirby logo

Je kan Kirby installeren met een starterkit, waarmee een volledig functionele demosite wordt opgezet. Voor deze benchmark hebben we de About Us pagina gebruikt.

De geteste Kirby pagina.
De geteste Kirby pagina.
  • Geteste URL: /about/
  • Thema: Starterkit
  • Opmerkingen: de geteste pagina is een About us pagina met een uitgelichte afbeelding, tekst, widgets, een header, navigatiemenu, pictogrammen voor sociale media en een footer.
  • Bron afbeelding: Kirby officiële website
Kirby 3.6.1.1 PHP benchmarks.
Kirby 3.6.1.1 PHP benchmarks.

Benchmarkresultaten

  • Kirby 3.6.1.1 PHP 7.2 benchmarkresultaten: niet ondersteund 🚫
  • Kirby 3.6.1.1 PHP 7.3 benchmarkresultaten: niet ondersteund 🚫
  • Kirby 3.6.1.1 PHP 7.4 benchmarkresultaten: 3326.72 req/sec
  • Kirby 3.6.1.1 PHP 8.0 benchmarkresultaten: 3514.96 req/sec 🏆
  • Kirby 3.6.1.1 PHP 8.1 benchmarkresultaten: 3922.77 req/sec 🏆

PHP 8.1 presteerde bizar goed bij de benchmarks van Kirby. Het is ook vermeldenswaard dat Kirby de meeste verzoeken per seconde afhandelde van alle PHP platforms die we hebben getest. Ook al is het een appels-met-peren-vergelijking, het is nog steeds iets om naar huis over te schrijven. Het belangrijkste nadeel is dat het niet gratis te gebruiken is.

Flarum 1.2.0

Flarum is gratis en open source forumsoftware voor online discussies.

Flarum Logo

Je kan Flarum installeren met een demosite. We hebben ook drie threads toegevoegd met een paar alinea’s aan tekst.

De geteste Flarum pagina.
De geteste Flarum pagina.
  • Geteste URL: / (homepagina)
  • Thema: standaardthema
  • Opmerkingen: De geteste pagina is de homepagina van het forum met een header, een logo, zoekwidget, aanbevolen tekstblok, navigatiemenu, meldingspictogrammen, een zijmenu, een lijst met discussiethreads, andere widgets en een footer. De nieuwste Flarum versie ondersteunt PHP 8.1 nog niet, dus dat konden we niet benchmarken.
  • Bron afbeelding: officiële Flarum website
Flarum 1.2.0 PHP benchmarks.
Flarum 1.2.0 PHP benchmarks.

Benchmarkresultaten

  • Flarum 1.2.0 PHP 7.2 benchmarkresultaten: niet ondersteund 🚫
  • Flarum 1.2.0 PHP 7.3 benchmarkresultaten: 120.21 req/sec
  • Flarum 1.2.0 PHP 7.4 benchmarkresultaten: 122.06 req/sec 🏆
  • Flarum 1.2.0 PHP 8.0 benchmarkresultaten: 119.67 req/sec
  • Flarum 1.2.0 PHP 8.1 benchmarkresultaten: niet ondersteund 🚫

Flarum is een nieuwkomer in onze PHP benchmarks. Omdat het populaire PHP forumsoftware is, waren we verheugd om het uit te testen en te zien hoe het presteert. Hoewel PHP 7.4 het beste presteerde met Flarum, is de score bijna hetzelfde bij alle andere PHP-versies die we hebben gebenchmarkt.

Updaten naar PHP 8.1 bij Kinsta

PHP 8.1 heeft veel interessante features geïntroduceerd. Sommigen hiervan zijn radicale, ingrijpende wijzigingen die niet compatibel zijn met de vorige PHP versies (voornamelijk <PHP 8.0).

Er is geen reden waarom je niet zou moeten updaten naar PHP 8.1 als alle features van je website er goed op werken. Als de bovenstaande resultaten je nog niet overtuigen, dan weten we het ook niet meer!

Ter herinnering: alle Kinsta klanten kunnen PHP 8.0, 8.1, 8.2 gebruiken met onze aangepaste zelfherstellende databaseconfiguratie.

Kinsta ondersteunt PHP 8.0, en 8.1.
Kinsta ondersteunt PHP 8.0, en 8.1.

En als je je zorgen maakt over het stuk maken van je site vanwege incompatibiliteit met een externe plugin (wat kan gebeuren), hebben we testsites 👍

Je kan onze testsite-feature om eindeloos te testen zonder dat je je zorgen hoeft te maken over het kapot maken van je productiesite. Als je zeker weet dat alles perfect werkt, kun je met een druk op de knop de wijzigingen live doorvoeren.

Conclusies benchmarkresultaten

De gecompileerde PHP benchmarks.
De gecompileerde PHP benchmarks.

Uit de bovenstaande benchmarkresultaten kan je zien dat PHP 8.1 de koploper is voor de meeste PHP platforms en -configuraties, op de voet gevolgd door PHP 8.0.

Dit is onze uitgebreide samenvatting van de PHP benchmarkresultaten:

  • Voor WordPress was PHP 8.1 de snelste in alle benchmarks (Stock WordPress 5.6 en WooCommerce). Easy Digital Downloads ondersteunt PHP 8.1 nog niet, maar we kunnen vergelijkbare prestatieverbeteringen verwachten.
  • Als je WordPress gebruikt en al je thema’s en plugins compatibel zijn met PHP 8.1, is er geen reden waarom je je PHP versie niet zou moeten updaten naar PHP 8.1. Je zal de prestatievoordelen zeker kunnen waarderen die het met zich meebrengt.
  • PHP 8.0 was het snelst met het Laravel framework, het populairste PHP framework voor het bouwen van web-apps. Laravel 9 was op het moment van benchmarking nog niet uitgebracht. We gebruiken het in onze volgende benchmarks.
  • Als een van de plugins of thema’s die je gebruikt nog niet compatibel is met PHP 8.0 – laat staan PHP 8.1 – raden we je aan contact op te nemen met ontwikkelaars daarvan en hen dit te laten weten.
  • Omdat de ondersteuning voor PHP 7.4 binnenkort afloopt, eind 2022, is het slim om zo snel mogelijk je sites naar PHP 8.0 en hoger te upgraden.
  • PHP 8.0 luidde een nieuwe periode in voor PHP, net zoals PHP 7.0 dat deed toen PHP 5.6 oppermachtig was. PHP 8.1 heeft aanzienlijke verbeteringen gebracht. We verwachten dat de latere PHP 8.x-versies verder worden geoptimaliseerd voor prestaties en beveiliging.
  • We hebben PHP 8.x niet getest met JIT ingeschakeld. Hoewel de nieuwe JIT compiler van PHP geen significante prestatievoordelen zal opleveren voor echte apps zoals WordPress, zal het interessant zijn om te zien wat het doet tijdens daadwerkelijk gebruik.
  • Heroverweeg je hostingprovider als deze de nieuwere PHP versies niet aanbiedt.
  • Zoals eerder vermeld, moet je je site grondig testen voordat je de omgeving van je webserver bijwerkt naar PHP 8.0 en PHP 8.1.
  • Naast het upgraden naar de nieuwste PHP versie, kunnen WordPress gebruikers hun sites verder versnellen met andere technieken om de webprestaties te verbeteren. We hebben ze allemaal verzameld in onze ultieme gids over hoe je je WordPress site kunt versnellen.

Het was geweldig om alle verschillende PHP platforms te benchmarken. We zijn enorm enthousiast over PHP 8.1. Wij hopen dat jij dat ook bent!

Als je opmerkingen hebt over onze benchmarks of ervaringen met het upgraden van PHP versies, horen we ze graag. We zien ze graag in de reacties hieronder!

Salman Ravoof

Salman Ravoof is a Technical Editor at Kinsta. He's a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.