Redis voor een krankzinnig snelle website!

Je kunt al een tijdje bij Antagonist Redis gebruiken. Ondertussen draaien dan ook meer dan duizend WordPress-websites en Magento-webwinkels met Redis flink sneller. Dat is natuurlijk een enorm mooi aantal, maar we willen meer! Daarom vertel ik je graag hoe je het instelt en ga ik een stukje de diepte in hoe je het nog vlotter maakt.

Redis voor een krankzinnig snelle website!

Waarom je Redis moet hebben

Redis is een geavanceerde cachingtechniek, waarbij veelgebruikte data en berekeningen van je website in het snelle RAM (werkgeheugen) worden opgeslagen. Dit zorgt voor een flink snellere website, waarbij je pagina’s maar liefst tot tien keer zo vlot kunnen laden. Dankzij onze slimme implementatie is er geen complexe authenticatie of extra configuratiewerk nodig en werkt het veilig binnen de container van je pakket.

Met name zwaardere websites en webshops hebben er enorm baat bij. Zo laden bijvoorbeeld webshops met veel productinformatie en -afbeeldingen vlugger. Zeker als je het combineert met Full Page Caching (FPC) en database caching. Niet alleen je bezoekers ervaren zo meer snelheid, maar je kunt zelf ook veel vlotter in de backend van je website werken.

Bij Antagonist is het kosteloos inbegrepen vanaf het Plus-pakket en hoger. Bij je Plus heb je daarbij 128 MB Redis cache, bij Pro is dat 256 MB en bij de extra krachtige Pro XL-pakketten zelfs 512 MB. Dit zonder dat je een meerprijs hoeft te betalen, zoals je vaak bij andere partijen ziet.

En het Slim-pakket?
Redis vereist meer RAM om succesvol te draaien. Wil je graag Redis, dan kun je via Mijn Antagonist naadloos upgraden naar een krachtiger pakket.

Redis instellen

Antagonist heeft bij Plus en hoger Redis al voor je op de achtergrond draaien. Dat scheelt je een het installeren ervan en de zeer lastige configuratie op het achterliggende systeem. Wel dien je nog zelf binnen je website in te stellen dat je caching plugin of caching-functionaliteit met Redis gaat verbinden. Voor de meest bekende CMS’en hebben wij hier handige stappenplannen voor.

Volg de handleiding voor het CMS dat jij gebruikt en je hebt caching snel aan de praat. Zodra de Redis cache is opgebouwd, zul je zien dat de performance van je website enorm toeneemt.

Bekijk onze hostingpakketten →

Redis maximaal inzetten

Wat velen niet weten, is dat je de performance nog verder kunt verbeteren, nadat je Redis op je website hebt geïmplementeerd. Het heeft alles te maken met hoe je het inzet. Graag geef ik je een voorbeeld om dit te verduidelijken.

Een (geoptimaliseerd) JavaScript (.js) of Cascading Style Sheets-bestand (.css) kun je vaak beter direct van de opslag afhalen en niet vanuit Redis. Deze bestanden veranderen nauwelijks en zijn vaak zeer groot. Zo voorkom je dat je Redis cache met enorme CSS-bestanden volloopt. Caching plugins hebben daarom verdere configuratie-opties, waarmee je bepaalt wat er precies wordt gecachet en voor hoe lang (TTL).

Om met enkele getallen makkelijk inzichtelijk te maken hoe Redis wordt benut, kun je een PHP-script in je website plaatsen en het daarna in je webbrowser bekijken. Roep je dit script in je webbrowser aan, dan krijg je een groot aantal waardevolle getallen terug. De belangrijksten zal ik nu toelichten.

Optimaliseer Redis met behulp van een PHP-script.

#1. Cache hit ratio

Het cirkeldiagram met het percentage Hits geeft aan hoe efficiënt de cache van Redis wordt gebruikt en of een gegeven daadwerkelijk in de Redis cache kan worden gevonden. Dit wordt vaak ook wel de cache hit ratio genoemd. Het is aanbevolen dit ruim boven de 80% te houden en liefst zelfs boven de 95%.

Mocht een waarde niet uit de Redis cache kunnen worden gehaald, dan treedt er een miss op en dient je website alsnog de gangbare rekenkracht te gebruiken om de pagina trager op te bouwen. Verbeter de cache hit ratio door preciezer te bepalen wat van je website er in Redis wordt gecachet. Daarnaast werkt het verhogen of verlagen van de TTL.

Andere term, zelfde idee
W3 Total Cache voor WordPress duidt TTL aan met ‘Maximum lifetime of cache objects’. Ofwel, hoe lang iets in de Redis cache wordt onthouden.

#2. Evicted/Expired

Expired geeft aan hoeveel gecachte waardes zijn verlopen, omdat tegen de ingestelde TTL in de caching plugin is aangelopen. Zo’n plugin onthoudt gegevens namelijk voor maximaal een aantal seconde om te voorkomen dat Redis irrelevante informatie gaat bijhouden. Zie je dat de hoeveelheid Expired enorm hoog is door cachingdata die verloopt, overweeg dan om de TTL op te hogen. Het onthoudt zo gegevens van je website langer.

Het getal bij Evicted geeft aan hoeveel gecachte waardes uit Redis zijn verdwenen, omdat er niet meer genoeg geheugen vrij is.  Dit is meestal een indicatie dat het irrelevante gegevens begint te cachen. Dit los je vaak op door in je caching plugin de TTL voor de Redis cache te verlagen.

#3. Geheugengebruik

Het geheugengebruik is ook iets om in de gaten te houden. Je kunt zowel het huidige geheugengebruik (Used Memory) als het piekgebruik (Peak Memory) van Redis terugzien.

Het geheugengebruik van Redis onderzoeken.

Zie je dat er relatief weinig wordt gecachet en de cache hit ratio ook zeer laag is, dan is het slim om meer nuttige data voor langere tijd in Redis te cachen. Dit doe je mede door de TTL in je website op te hogen. Als je echter ziet dat de cache overloopt (Evicted) en constant vol zit, dan is dit een indicatie dat er te veel irrelevante data in de cache blijft staan. Overweeg dan aan te passen waar je voor jouw website Redis inzet.

Bij een enorme webshop is het ook belangrijk om na te gaan of je resources van je pakket nog aansluiten bij de omvang van je website. Mede daarom raden wij bij webshops minimaal een Pro-pakket aan. Daar heb je voldoende rekenkracht, maar ook geheugen aan Redis cache beschikbaar. Door een krachtig genoeg pakket met voldoende Redis cache te hebben, kun je dus ook voorkomen dat de cache overloopt.

Meten is weten!

Dit is advies wat over het algemeen het beste resultaat geeft. Iedere website is uniek. Het kan daarom zijn dat andere caching-instellingen voor jouw website of webshop een beter resultaat geven. Ik raad daarom aan om over een langere tijd, zoals een aantal dagen of weken, bij te houden welke aanpassingen positieve impact geven.

Redis maakt je website dus flink sneller. Zelfs nog sneller als jij weet hoe je jouw website aanpast om het beter te benutten. Ga dus nu aan de slag en geef je website een boost! Gebruik je deze fijne cachingtechniek al, laat dan gerust een reactie achter met je bevindingen.

P.S. Op de hoogte blijven van alle artikelen, updates, tips en trucs die op ons blog verschijnen? Volg ons via Facebook, Twitter, Instagram, RSS en e-mail!

Deel Deel Deel Deel

8 reacties op “Redis voor een krankzinnig snelle website!

    • Momenteel niet. We zien dat gebruikers ervan er bij de ontwikkelaars fanatiek om vragen. Hopelijk implementeren ze het binnenkort!

  1. Frank op zei:

    Mooi artikel. En het is inderdaad razendsnel! Vraagje: Heb 3 domeinen gehost. Voor 1 website is Redis geconfigureerd. Die zit nu al op Used Memory 97.50M en een Peak Memory 128.00M. De maximale Redis cache bedraagt 128MB.

    Wat gebeurd er als ik de andere 2 websites ook configureer voor Redis en database 2 en 3 toewijs? Hebben die websites dan ook 128MB tot hun beschikking of wordt de 128MB opgesplitst in 3? Is de 42MB Redis cache per website wel nuttig?

    • Bedankt voor je feedback, Frank! Fijn om te lezen dat je website met Redis flink sneller is geworden.

      De websites op je pakket delen de resources met elkaar, zo ook de Redis-cache. Stel je Redis op het Plus-pakket voor drie websites in, dan kunnen ze de 128 MB onderling gezamenlijk gebruiken.

      De Redis-cache wordt dus niet in gelijke delen opgesplitst, afhankelijk van voor hoeveel websites Redis wordt ingesteld. Het kan goed zijn dat de ene 80 MB gebruikt en de andere slechts 5.

      Of het nuttig is dat er per website bekeken bijvoorbeeld 42 MB beschikbaar is, valt lastig te zeggen. Dat hangt namelijk van het type website af. Waar bij sommige een paar MB al voldoende is, hebben bijvoorbeeld webshops al snel minimaal 256 MB Redis-cache nodig.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *