Performance

Magento performance begint waar caching ophoudt.

Magento Admin, databasequeries, checkouts, imports, indexers, OpenSearch, RabbitMQ en queue workers moeten daadwerkelijk werk uitvoeren. Daarom combineren we snelle hardware met een Magento-stack die op iedere laag is ingericht voor performance.

thumbnail voor Performance
Cover voor

Waarom Magento hosting zoveel invloed heeft op performance

Een Magento-webshop bestaat uit verschillende workloads.

Een populaire productpagina kan grotendeels uit cache komen. Een medewerker die een product opslaat in Magento Admin niet. Een checkout moet actuele klant-, voorraad- en orderdata verwerken. Een import kan duizenden databasebewerkingen veroorzaken. Een indexer moet wijzigingen opnieuw verwerken. Juist bij dat soort ongecachete workloads bepaalt de infrastructuur hoe snel Magento reageert. Daarom optimaliseren we niet alleen de storefront, maar de volledige backend.

Snel waar caching ophoudt

Veel Magento-processen zijn gevoelig voor de snelheid waarmee individuele PHP-processen en databasebewerkingen kunnen worden uitgevoerd. Daarom gebruiken we AMD EPYC-processors met hoge kloksnelheden. Meer CPU-cores alleen maken een individuele Magento-request niet automatisch sneller. Voor veel dynamische processen is juist sterke single-thread performance belangrijk. Dat merk je bijvoorbeeld bij Magento Admin, databasequeries, checkoutlogica en PHP-processen.

Geen steal time

Een toegewezen CPU-core is alleen waardevol wanneer je die capaciteit ook echt kunt gebruiken. Daarom boeken we onze fysieke infrastructuur niet over. De capaciteit die aan je managed server is toegewezen, blijft beschikbaar voor die server. Zo voorkomen we dat Magento tijdens een druk moment moet wachten omdat andere virtuele machines dezelfde onderliggende CPU-capaciteit opeisen. Dat maakt performance voorspelbaarder, juist wanneer een webshop zwaar wordt belast.

Razendsnelle NVMe-storage

Magento leest en schrijft continu data. Databases, indexes, caches, generated files, imports en exports zorgen allemaal voor storage-I/O. Een snelle CPU helpt weinig als processen vervolgens op de storage moeten wachten. Daarom gebruiken we RAID 10 NVMe-storage over PCIe 5. Dat geeft Magento een snelle basis voor workloads waarbij veel data gelezen en geschreven wordt.

De Magento performance-stack

  • PHP-FPM en OPcache

    PHP-FPM verwerkt de dynamische PHP-requests van Magento. OPcache bewaart gecompileerde PHP-code in het geheugen zodat dezelfde Magento-code niet voortdurend opnieuw hoeft te worden gecompileerd. Adobe noemt PHP en Nginx/PHP-FPM expliciet als onderdelen van een productieomgeving voor Commerce. Op ons platform worden PHP-FPM en de onderliggende softwarestack actief beheerd en gemonitord.
  • Databaseperformance

    Orders, klanten, producten, configuratie, voorraad en veel andere transactionele Magento-data staan in de relationele database. Die database is daardoor één van de belangrijkste onderdelen van backendperformance. Op ons platform wordt de Magento-database volledig managed. We monitoren de beschikbaarheid 24/7, verzorgen softwarebeheer en maken dagelijks een offsite back-up. Bij performanceproblemen kijken we bovendien verder dan alleen CPU-belasting. Trage queries, catalogusomvang, extensions, indexers en zware imports kunnen allemaal invloed hebben op de databasebelasting.
  • OpenSearch voor catalog search

    Magento gebruikt voor catalog search een gespecialiseerde search engine. OpenSearch indexeert productdata zodat zoeken, filteren en sorteren niet volledig door de transactionele database hoeven te worden afgehandeld. Voor recente Magento-versies heeft OpenSearch een steeds centralere positie gekregen; wij ondersteunen managed OpenSearch 3.8. OpenSearch wordt bij ons actief 24/7 gemonitord en ook van de searchomgeving wordt dagelijks een offsite back-up gemaakt.
  • Varnish voor full page cache

    De snelste Magento-request is de request die Magento niet hoeft uit te voeren. Daarom adviseert Adobe Varnish als full page cache voor productieomgevingen. Een cache hit kan door Varnish worden afgehandeld zonder de volledige PHP-, Magento- en databasestack opnieuw te doorlopen. Dat werkt vooral goed voor publieke product- en categoriepagina’s. Winkelwagen, checkout, accountpagina’s en andere persoonlijke onderdelen blijven dynamisch en gaan door naar Magento zelf. Op ons platform staat Varnish voor Magento managed klaar.
  • RabbitMQ voor message queues

    Niet ieder proces hoeft tijdens een normale webrequest te worden uitgevoerd. Magento en Adobe Commerce kunnen RabbitMQ gebruiken als message broker voor asynchrone verwerking. Een proces plaatst een bericht in de queue en een consumer verwerkt dat vervolgens op de achtergrond. Daarmee worden zwaardere processen losgekoppeld van de request waarop een gebruiker wacht. Adobe gebruikt RabbitMQ onder andere voor asynchronous operations en beschrijft het als een schaalbare message broker voor Magento’s Message Queue Framework. Voor bijvoorbeeld bulk- en asynchronous API-operaties en bepaalde inventory-processen zijn queue consumers onderdeel van de verwerking.
  • Cron, indexers en queue consumers

    Magento verwerkt veel werk buiten normale webrequests. Denk aan indexing, productupdates, e-mail, asynchronous operations en message queues. Adobe adviseert indexers in productie veelal op Update on Schedule te draaien. Wijzigingen worden dan niet bij iedere save direct volledig verwerkt, maar via cron in delen op de achtergrond afgehandeld. Dat voorkomt extra vertraging bij zware belasting. Queue consumers kunnen via cron of een externe process manager actief worden gehouden. Dat geldt ook wanneer RabbitMQ als message broker wordt gebruikt. Zo wordt background processing onderdeel van de productieomgeving in plaats van iets dat alleen goed gaat zolang iemand er handmatig naar kijkt.
  • Redis

    Magento maakt intensief gebruik van cache en sessions. Een in-memory backend zoals Redis zorgt dat deze data snel beschikbaar is zonder voortdurend naar disk of de database te hoeven gaan. Adobe adviseert voor grotere Commerce-omgevingen aparte in-memory stores voor sessions en de default cache. Welke inrichting het beste werkt hangt af van Magento-versie, shopomvang en workload.

Meer informatie over Hyvä?

Wij hosten steeds meer Magento-webshops die gebruikmaken van Hyvä en hebben daardoor goed zicht op wat deze frontend technisch vraagt van de onderliggende hostingomgeving.

Hyvä kan de storefront aanzienlijk lichter maken en helpt bij het verbeteren van Core Web Vitals. De beste resultaten ontstaan wanneer die snelle frontend wordt gecombineerd met een goed ingerichte Magento-stack, bijvoorbeeld met Varnish, in-memory caching, OPcache en snelle backend-infrastructuur.

Wil je weten hoe Hyvä zich verhoudt tot Magento-performance en welke hostingkeuzes daarbij belangrijk zijn? Bekijk dan onze verdieping over Magento & Hyvä.

Cover voor
Danny Feskens | Rootnet Managed Hosting

Ervaar het zelf!

Haal het beste uit jouw Craft CMS websites dankzij de ideale managed hosting setup. Heb je vragen of wil je onze managed hosting 14 dagen vrijblijvend proberen? Neem gerust contact met Danny op!