Drupal 8, de snelste Drupal

Kevin VB
Drupal 8

Over versie 3 van Drupal, waren de commentaren over de snelheid van de basisinstallatie niet positief. Ook bij Drupal 4 bleven deze negatieve gevoelens omtrent de snelheid standhouden. Zelfs in de zevende versie werd als eerste opmerking aangehaald dat deze traag is. Daarom werd ook verwacht dat Drupal 8 nog trager zou zijn dan zijn voorgangers… Maar het tegendeel blijkt waar.

Het grootste nadeel bij Drupal 7 is dat bij elke wijziging, de volledige page caching moest worden geleegd, niet enkel de gewijzigde pagina maar dus alle pagina’s. Dit is vooral gelegen aan het feit dat het CMS niets weet in verband met de inhoud van de pagina’s. Ook heeft het volledige legen van de cache gevolg voor extra caching modules zoals Varnish. Deze wordt in Drupal 7 steeds volledig geleegd zodat de wijzigingen op één pagina opgenomen kunnen worden.
Dit was dus het probleem dat moest worden aangepakt, en dat blijkt ook het geval. In Drupal 8 zijn er 2 grote aanpassingen gedaan die de snelheid van de website enorm verhogen. Zonder caching is de laadtijd van een standaard installatie gemiddeld 3 seconden. Met caching kan dit worden gereduceerd naar 30 ms. Dit is duidelijk de snelste Drupal ooit.

Cache types
Drupal 8 biedt de mogelijkheid om te werken met 3 cache types; cache tags, contexts en max-age. De cache tags kunnen gebruikt worden om de inhoud afhankelijk te maken op basis van de data, de titel bijvoorbeeld. Hierdoor zal de gecachte data verouderd zijn vanaf het moment dat de titel wordt aangepast. De cache contexts bieden de optie om de data afhankelijk te maken op basis van context. Dit wil zeggen dat de inhoud verouderd kan worden op basis van bijvoorbeeld de taal. Hierdoor kan bijvoorbeeld één enkele vertaling verouderd worden, in plaats van een volledige Drupal node. Het derde cache type, de cache max-age is het meest voor de hand liggende cache type. Deze cache wordt verouderd op basis van een datum. Wanneer een evenement bijvoorbeeld automatisch wordt afgesloten op de einddatum, dan kan deze einddatum gebruikt worden om de cache van dit evenement te verouderen en dus te legen.

Big pipe
Samen met bovenstaande drie opties komt drupal met de big pipe. Standaard levert Drupal pas een pagina op aan de eindgebruiker, wanneer deze volledig is opgebouwd. Dit heeft al snel tot gevolg dat bepaalde pagina’s ‘traag’ worden omdat zelf één blokje de volledige pagina kan vertragen. Via big pipe levert Drupal 8 de website op in stukken. Van zodra een bepaald blok inhoud klaar is, wordt deze aan de eindgebruiker geleverd. Visueel heeft dit als effect dat de website in enkele milliseconden klaar is. Maar in realiteit is de site eigenlijk in een paar seconden ingeladen. Een voorbeeld van big pipe vind je hier.

Gelukkig hebben de ontwikkelaars eraan gedacht om deze mogelijkheden die voorzien worden in Drupal 8, ook beschikbaar te maken voor Drupal 7. Dus binnenkort kunnen we allemaal genieten van supersnelle websites.

Populaire blogposts
Drupal Mythes
Wat betekent Drupal 8 voor uw business?
Schrijven voor het web met de juiste keywords, gebruik Google Keyword Planner
Fairtrade Belgium bouwt eigen subsites
Is branding enkel het logo van mijn bedrijf?