terug naar blogs

Magento: Performance Optimalisatie

Afbeelding voor Magento: Performance Optimalisatie
avatar van Danny
auteur
Danny
auteur
avatar van Danny
Danny
Magento: Performance Optimalisatie
4 november 2022 leestijd 5-7 minuten

Uit o.a. een onderzoek uit 2019 van Portent blijkt dat de performance van een webshop direct invloed heeft op de conversie. De beste resultaten worden behaalt tussen de 0.2 en 4 seconden. Iedere seconde extra laadtijd zorgde daarbij voor een verlies van bijna 5% conversie. Hieruit blijkt hoe belangrijk de performance voor een webshop is! Onlangs schreven we een blog over de optimalisatie van WordPress, deze keer is Magento 2 aan de beurt.

Afbeelding voor

Heb je vragen of feedback over onze blog?

1. Updates

Net als bij de meesten CMS’en is het updaten van Magento en de eventuele plugins die je gebruikt zowel de makkelijkste stap als de belangrijkste. Door up to date te blijven zorg je ervoor dat je security en compatibility risico’s minimaliseert. Sinds de overname van Adobe worden nieuwe PHP versies vrij snel meegenomen in de Magento requirements. Voor Magento 2.4.4 heb je minimaal PHP 8.1 en MariaDB 10.4 of MySQL 8 nodig. Om up to date te blijven moet je hosting partij dus ook deze server onderdelen tijdig updaten en beschikbaar stellen. Rootnet klanten kunnen daarom via Projects met één klik op de knop van PHP versie wisselen.

2. Production Mode & Cache Enabled

Magento 2 heeft een eigen fullpage caching feature. Deze feature kan je gebruiken wanneer er geen betere cache alternatieven op de server aanwezig zijn. Om deze te gebruiken dient de applicatie in productie modes te draaien. Om de status te controleren kan je het volgende commando gebruiken.

magerun2 deploy:mode:show

Mocht productie modus zijn uitgeschakeld gebruik je de het volgende commando om deze weer in te schakelen.

magerun2 deploy:mode:set production 

Vervolgens controleer je de status van de caching.

magerun2 cache:status

Om de caching in te schakelen voer je het volgende commando in.

magerun2 cache:enable

3. Varnish Caching

Magento 2 bied standaard ondersteuning voor Varnish cache. Wanneer je hosting provider net als wij Varnish aanbied dan wordt aangeraden hier gebruik van te maken in plaatst van de eigen fullpage cache. Het voordeel van Varnish is dat dit een caching laag boven de applicatie legt waardoor deze een snellere Time To First Byte (TTFB) kan opleveren dan de caching in de applicatie zelf.

Om Varnish correct te gebruiken schakelen we de full page caching om naar de Varnish cache.

magerun2 config:set --scope=default --scope-code=0 system/full_page_cache/caching_application 2

Belangrijk daarbij is dat de cache correct gepurged wordt zodat je de juiste content blijft zien.

magerun2 setup:config:set --http-cache-hosts=<hostname of IP>:<listen port> 

4. Redis Caching

Redis caching kan voor zowel de front-end als back-end gebruikt worden. Wanneer je Varnish al voor de front-end gebruikt dan heeft het geen meerwaarde om hier ook Redis voor te gebruiken. Voor Rootnet klanten is Redis standaard beschikbaar en wordt dit voornamelijk gebruikt voor backend caching. Dit verbetert merkbaar de performance in de backend.

Om Redis voor backend caching te activeren kun je het volgende commando gebruiken.

magerun2 setup:config:set --cache-backend=redis --cache-backend-redis-server=<hostname of IP> --cache-backend-redis-port=<listen port> --cache-backend-redis-db=<database>

Redis activeren voor de frontend gaat met het volgende commando:

magerun2 setup:config:set --cache-backend=redis --cache-backend-redis-server=<hostname of IP> --cache-backend-redis-port=<listen port> --cache-backend-redis-db=<database>
Afbeelding voor

Meer performance uit je webshop halen?

5. L2 Caching

In het geval van een grote webshop kan er soms veel interne traffic gegenereerd worden welke een flinke druk kan leggen op de Redis cache. Op de Redis te ondersteunen kan daarbij L2-cache gebruikt worden. Door L2-cache te activeren binnen je Magento 2 shop wordt er data opgeslagen binnen /dev/shm/. Voor het toepassen van L2 cache kan je de documentatie van Adobe raadplegen.

6. CSS en JS samenvoegen

Om het aantal verzoeken dat de website nodig heeft om zichzelf op te bouwen te verminderen is het samenvoegen en verkleinen van CSS- en Javascript-bestanden aan te raden.

Navigeer naar Stores > Configuration > Advanced > Developer > CSS Settings
zet Merge CSS Files naar Yes
zet Minify CSS Files naar Yes

Cover voor

Navigeer naar Stores > Configuration > Advanced > Developer > JS Settings
Zet Merge JavaScript Files naar Yes
Zet Minify JavaScript Files naar Yes

Cover voor

7. Cloudflare

Ook Magento 2 heeft baat bij Cloudflare. Ongeacht welke caching je gebruikt kan je dit toevoegen om de performance nog een stapje verder te krijgen. Specifiek voor de /static/ en /media/ directory wil je hierbij een page rule instellen dat deze altijd gecached wordt om zo de statische bestanden te serveren. Rootnet klanten kunnen gebruik maken van onze automatisch Cloudflare integratie.

Automatische Cloudflare koppeling in Rootnet dashboard

8. Retesnelle hosting

Magento 2 is zowel CPU als memory heavy. Dit wil zeggen dat dit CMS veel vraagt van de onderliggende server. De tips hierboven zoals caching, minify en Cloudflare verlichten deze druk maar de performance van de onderliggende server blijft een grote rol spelen. Het toevoegen van méér CPU cores en Memory geeft bij Magento niet altijd het gewenste effect. Het gaat echt om de snelheid hiervan. Op ons platform gebruiken wij bijvoorbeeld CPU’s met een extra hoge kloksnelheid. Een aanroep is daardoor zomaar 30% sneller vergeleken met hetzelfde aantal CPU cores op een public cloud. In een eerdere blog hebben we een performance benchmark gedaan om dit verschil zichtbaar te maken.

Beter kan altijd

Magento webshops zijn geen kleine jongens. Er moet namelijk bij de aanbouw al redelijk geïnvesteerd worden om een kwaliteit webshop te bouwen. Logischerwijs heeft zo’n flinke webshop dan ook stevige hosting en expertise nodig. Bij ons ben je Managed Magento hosting aan het juiste adres. Neem contact met ons op om de mogelijkheden te bespreken of vul het onderstaande formulier in.

De snelste Magento 2 hosting

Geef jouw webshop een performance boost

avatar van Danny
Danny staat klaar om je te helpen
Naar contactpagina