WordPress heeft het gedaan: prestatieverbeteringen gaan steeds sneller

WordPress 6.2 bracht verbeteringen in het werk van het kernontwikkelingsteam en zorgde voor een consistente focus op prestaties in elke ontwikkelingsfase. Deze nieuwe processen vangen problemen op wanneer wijzigingen worden geïntroduceerd en voorkomen dat ze in de uiteindelijke release terechtkomen.
De twee verbeteringen die verantwoordelijk zijn voor deze wijziging zijn:

  • Een nieuw toneelstuk leidt
  • Geautomatiseerde benchmarking

Dankzij deze twee verbeteringen kon het WordPress-team de prestaties onderdeel maken van de ontwikkeling van elk onderdeel van WordPress, waardoor het in feite onderdeel werd van het ontwikkelings-DNA.

WordPress 6.1-zelfstudies

De vorige versie van WordPress, versie 6.1, werd gekenmerkt door een algemene afname van de prestaties, wat WordPress prestatieregressie noemt. Prestatieregressie is wanneer een verbetering leidt tot een afname van de prestaties. Ze ontdekten dat hoewel ze de grootste oorzaak van prestatieregressie hadden weggenomen en verschillende prestatieverbeteringen hadden doorgevoerd, de algehele prestaties van de site nog steeds afnamen als gevolg van de verminderde prestatieveranderingen.
WordPress legde de les uit die het had geleerd van versie 6.1:
“Ondanks andere prestatieverbeteringen in die releases, maakten de regressies de verbeteringen grotendeels teniet. …Hoe meer regressies, hoe minder impact alle andere prestatieverbeteringen hebben.

De leider in de ontwikkelingsprestaties van WordPress

Het ontwikkelproces voor WordPress 6.2 is afgerond met de coördinatie van een nieuwe performance lead rol. De activiteitenbegeleider initieert geen veranderingen en verbeteringen. Dit was het werk van het ontwikkelteam. De Performance Manager coördineert simpelweg tussen teams. Elk team is verantwoordelijk voor de resultaten van hun projecten.
De operations manager legde uit hoe het werkte:
“Hierdoor kon ik nauw samenwerken met andere medewerkers, deze ondersteunen en onze methoden voor prestatiebeoordeling met hen coördineren.” … de prestatieverbeteringen in deze release zijn het resultaat van geweldig werk door verschillende bijdragers om prestatieknelpunten te identificeren. De introductie van de Performance Lead-rol… heeft de prestaties bij de rest van het releaseteam alleen maar verbeterd.

WordPress geautomatiseerde vergelijking

WordPress merkte op dat prestatieregressies ongemerkt optraden omdat niet elke wijziging handmatig werd getest op impact op de gehele release. Om de tekortkoming te ondervangen dat het niet mogelijk is om elke wijziging in de kern handmatig te testen, heeft WordPress een automatische prestatievergelijking van alle wijzigingen geïntroduceerd. Geautomatiseerde prestatiebenchmarking evalueert de impact van elke wijziging om verborgen prestatieknelpunten te voorkomen voordat ze in definitieve versies terechtkomen.
WordPress beschrijft deze workflowwijziging:
“Verschillende bijdragers hebben samengewerkt om een ​​geautomatiseerde CI-workflow voor prestatiemeting in de WordPress-kern te implementeren… Met behulp van deze CI-workflow worden de prestatiestatistieken van de WordPress-kern nu per commit vastgelegd en zijn beschikbaar in dit dashboard.” Dit stelt ons in staat om gemakkelijk een potentiële regressie te herkennen waar deze eerder onopgemerkt zou zijn gebleven. De WordPress 6.1-update introduceerde Gutenberg-prestatieregressies, problemen die van tevoren zouden zijn opgelost met geautomatiseerd testen. Er worden geautomatiseerde prestatietests uitgevoerd op elke belangrijke GitHub-commit om te meten hoe WordPress presteert met blok- en klassieke thema’s. De test verzamelt ook servertijdstatistieken met behulp van de nieuwste PHP-versie. Lees hier meer over geautomatiseerde prestatiebewaking: Geautomatiseerde prestatiebewaking in WordPress Core.

WordPress-bijdragers werkten samen

WordPress-bijdragers hebben gewerkt aan het identificeren van verbeterpunten met een hernieuwde focus op prestaties. Prestatieprofilering van de WordPress-kernserver werd uitgevoerd met behulp van de open source-tools Xdebug, XHProf en Blackfire (SaaS). Het vergelijken van de WordPress-kern was minder eenvoudig omdat de ontwikkelteams verschillende tools gebruikten. We werken momenteel aan het standaardiseren van de tools die worden gebruikt om prestaties te meten, zodat alle teams hetzelfde meten met dezelfde set tools.

Feit: WordPress 6.2 werkt beter

Het resultaat van geautomatiseerde prestatiebenchmarking en de coördinatie van de activiteiten van ontwikkelingsteams is een fundamentele verbetering van de prestatiestatistieken.
WordPress gedeeld:
“Op basis van laboratoriumbenchmarks laadt WordPress 6.2 in totaal 14-18% sneller bij gebruik van blokthema’s en 2-5% sneller voor klassieke thema’s (gemeten met Largest Contentful Paint / LCP). Met name de server-side prestaties (zoals gemeten door Time to First Byte / TTFB) zagen een significante toename van 17-23% voor blokthema’s en 3-5% voor klassieke thema’s, wat direct bijdroeg aan de algehele laadtijden. Prestatietesten zijn niet beperkt tot de belangrijkste commit-fase, maar ook het benchmarken van alle WordPress-releasekandidaten.
WordPress beschrijft dit proces:
“Op dit moment wordt het ten zeerste aanbevolen om een ​​productie-ZIP-versie van de WordPress-kern te gebruiken (zoals een bèta- of RC-release) in plaats van WordPress te meten in de hoofdontwikkelomgeving.” De opdracht benchmark-web-vitals die in de vorige sectie werd genoemd, is hier perfect voor, omdat het hoogwaardige prestatiestatistieken biedt die zowel server- als client-side prestaties vastleggen. De resulterende gegevens kunnen vervolgens worden vergeleken met dezelfde statistieken van bijvoorbeeld een eerdere stabiele release om te begrijpen hoe de kernprestaties van WordPress zijn veranderd (hopelijk verbeterd!) in de nieuwe release.

WordPress heeft de hoek omgeslagen als het gaat om prestaties

WordPress heeft de afgelopen jaren hard gewerkt om prestatieverbeteringen te integreren in de ontwikkelingsworkflow. Aanvankelijk voerde het prestatieteam verbeteringen door, zoals het verminderen van overbodige of onnodige JavaScript die op elke pagina werd geladen en het toevoegen van zaken als het lui laden van afbeeldingen. Maar nu integreert het prestatieteam prestatiebenchmarking rechtstreeks in de ontwikkelingsfase van elke verbeterde component op GitHub-commitniveau en gebruikt het geautomatiseerde prestatiebenchmarking om verbeteringen aan te sturen. In wezen heeft WordPress met succes prestaties ingebouwd in het DNA van het ontwikkelingsproces. Dit is een van de belangrijkste veranderingen in de ontwikkeling van WordPress en een teken dat WordPress op weg is naar andere contentmanagementsystemen. Eindelijk kan WordPress terugkeren naar het prestatiespel. Lees de volledige WordPress-aankondiging voor details over hun voortgang en links naar de tools die worden gebruikt om de prestaties te benchmarken. Voordelen van prioritering en prestatie-evaluatie in WordPress 6.2
Uitgelichte afbeelding door Shutterstock / Asier Romero

Relevante berichten