H&O webshop specialisten biedt naast Magento webshop ontwikkeling, Magento support en maatwerk, ook Magento hosting.

In samenwerking met onze gespecialiseerde hostingpartners kiezen we de meeste configuratie voor uw situatie. Variërend van managed shared hostingpakket met cachingmogelijkheden als memcache en Redis, tot dedicated hostingpakket met mogelijke varnishimplementatie of SOLR zoekdatabase. H&O verzorgt de hosting van meer dan 80% van haar klanten. H&O zet haar managed hostingservices in voor situaties waarin performance een aandachtspunt is en 99% uptime-garantie, 24/7 monitoring en directe koppeling met de ontwikkelomgeving een vereiste zijn.

Snelheidoptimalisatie en performance-analyse

De snelheid van een Magento webshop is afhankelijk van verschillende factoren. Het aantal bezoekers, productattributen, categorieën, storeviews, geïnstalleerde modules en producten zijn daar de belangrijkste voorbeelden van. Veel Magento webshopshouders ervaren lange pagina-laadtijden, een trage paginaopbouw en een langzaam Admin Panel. H&O ziet het optimaliseren van pagina-laadtijden - de performance van de webshop - als belangrijk onderdeel van nieuwe Magentoprojecten en het ontwikkelen van maatwerk modules. H&O optimaliseert performance door gebruik te maken van de volgende, of een combinatie van de volgende, technieken:

1) Hostingconfiguratie

De keuze tussen shared hosting, een virtual private server (VPS) of dedicated hosting speelt in het begintraject van de ontwikkeling van een webshop al een belangrijke rol. Wanneer er voor een dedicated hostingomgeving wordt gekozen, dan is Varnish een mogelijke optie. Wordt er gekozen voor een shared hostingomgeving, dan vallen Redis en Memcached onder de meest significante opties. Belangrijk in de overweging is ook de kennis en ervaring van de hostingpartij; is er geen of weinig specialistische kennis aanwezig met betrekking tot de optimalisatie van Magento, dan is hosten bij deze partij geen optie.

2) Memcache

Memcached is een serveroptimalisatie in de vorm van het opslaan van cache in, en het serveren van cache, uit het werkgeheugen van de server. Het is bedoeld om de database te ontlasten. Caches bestaan uit database-request en API calls. Afhankelijk van het aantal cachehits kan H&O met het inzetten van Memcache de laadtijden van uw Magentowebshop met ongeveer 15% tot 20% reduceren.

3) Redis

Memcached is een serveroptimalisatie in de vorm van het opslaan van cache in, en het serveren van cache, naar de harde schijf van de server. Net als Memcached is het bedoeld om de database te ontlasten, met als belangrijkste verschil dat Redis persistant is. Met andere woorden; caches blijven beschikbaar als de server of database wegvalt. Afhankelijk van het aantal cachehits kan H&O met het inzetten van Redis de laadtijden van uw Magentowebshop met ongeveer 25% reduceren.

4) APC caching of e-Accelerator

APC betekent Alternative PHP Cache. Het is een caching methode (optimalisatie) van PHP met als belangrijkste functie opcode caching. Opcode caching cached de vertaling van PHP naar machinecode, een proces dat door de CPU van de server wordt uitgevoerd. Omdat Magento veel rekenwerk via PHP doet, kan het serveren van deze caches voor 30% kortere laadtijden zorgen en wordt de CPU ontlast. H&O gebruikt voor PHP 5.4 het minder bekende maar gelijksoortige e-Accelerator als cachingsmethode voor PHP. APC is deprecated en wordt op korte termijn vervangen door de naar de functie genoemde nieuwe methodiek ‘Opcode cache’ (http://www.phpdeveloper.org/news/19324).

Afhankelijk van het aantal cachehits kan H&O met het inzetten van Redis de laadtijden van uw Magentowebshop met ongeveer 25% reduceren.

5) Mod_pagespeed

Mod pagespeed is een serie filters op serverniveau die de magento webshop laadtijd optimaliseert door de implementatie van frontend-gerelateerde best practices. Voorbeelden zijn onder andere het samenvoegen van CSS, het samenvoegen van Javascript bestanden en het automatisch resizen van afbeeldingen naar in de broncode gedefinieerde afmetingen. Deze laatstgenoemde voorkomt bijvoorbeeld dat afbeeldingen op onnodig grote resolutie worden ingeladen. H&O kan met het inzetten van Mod_pagespeed een performancewinst behalen van 10%.

6) Querycaching

Magento is een databaseapplicatie en voert veel database lees- en schrijf acties uit. Veel van deze queries zijn echter identiek, zoals bijvoorbeeld het ophalen van productcollecties of pagination-counts. Door deze databasequeries te cachen op databaseniveau, kan een snelheidswinst van zo'n 15% behaald worden. Databaseperformance is echter vrijwel nooit de bottleneck bij een langzame magentowebshop.

7) Hiphop / HHVM

Magento is gebouwd in de scripttaal PHP. PHP is typisch langzamer dan programmeertalen die voor het uitvoeren worden gecompileerd tot machinecode. Dit biedt een zekere flexibiliteit. HHVM, of Hiphop virtual machine, is een door Facebook ontwikkelde verzameling verbeteringen die een just-in-time (JIT) compilatie benadering gebruikt om de uitvoersnelheid van PHP drastisch te verhogen, zonder de flexibiliteit weg te nemen.

PHP executie-tijd beslaat bij het renderen van een Magentopagina ongeveer driekwart van de paginalaadtijd. Door het inzetten van HHVM kan deze tijd met een factor 6 worden gereduceerd. Echter; de compatibiliteit van HHVM met Magento is nog niet dusdanig uitontwikkeld dat het inzetten van HHVM voor productie is geadviseerd. H&O zet HHVM in een enkel geval in om zware backend-taken, zoals imports of het herindexeren, te versnellen.

8) Magento full page caching

Er zijn een aantal populaire Magentomodules in omloop die de snelheid van een Magentowebshop enorm kunnen verbeteren. Voorbeelden zijn de gratis Zoom Full-Page Cache (Ezapps_Zoom), Aitoc Magento Booster, Lesti FPC (full page cache) of de Mirasvit Full Page Cache. De wijze waarop deze modules werken is eenvoudig: wanneer een bezoeker een pagina bezoekt, dan wordt het resultaat van deze request opgeslagen als plat (html) bestand. Bij het eerstvolgende bezoek van deze pagina wordt Magento niet volledig geïnitialiseerd, maar wordt direct - vaak op basis van url - deze platte pagina geserveerd. Een groot nadeel bij full page caching is dat wanneer een pagina bezoeker (sessie) specifieke informatie bevat, zoals een overzicht met laatst bekeken producten of de informatie in het winkelwagen, er niet langer een gecachte pagina kan worden geserveerd. Bezoeker B zou dan de winkelwageninhoud van bezoeker A te zien krijgen. Deze full page cache modules werken daarom vaak met een primitieve diskwalificatie-constructie; zodra een bezoeker inlogt, worden alle pagina's op normale wijze gerenderd en gelden de normale pagina-laadtijden. Het contrast in paginalaadtijd tussen vanuit full page cache geserveerde pagina's en pagina's die bekeken worden na het inloggen kan groot en daarom vervelend zijn. H&O adviseert als alternatief voor full page caching in Magento een reverse proxy implementatie als Varnish.

10) Varnish

Varnish is een reverse proxy. Een reverse proxy slaat het resultaat van een door bezoeker A bekeken pagina op en serveert deze aan alle volgende bezoekers, zonder hierbij opnieuw Magento te initialiseren. Het inzetten van Varnish kan de performance van een Magento-webshop significant verbeteren; H&O heeft varnishimplementaties gedaan waarbij pagina-laadtijden werden teruggebracht naar 100ms. Net als populaire full page cache modules bestaat ook bij de implementatie van Varnish het probleem van bezoeker (sessie) specifieke informatie. Varnish biedt hiervoor een oplossing in de vorm van Edge Side Includes (Varnish ESI). Met Edge side includes wordt alleen voor persoonlijke, sessie specifieke informatie - zoals de inhoud van de winkelwagen - Magento geraadpleegd. De cache - net als bij full page caching een platte versie van de hele pagina - wordt verrijkt met deze informatie en aan de bezoeker geserveerd.

Het inzetten van Varnish kan de performance van een Magento-webshop significant verbeteren; H&O heeft varnishimplementaties gedaan waarbij pagina-laadtijden werden teruggebracht naar 100ms.

11) Optimalisatie van indexeringen

Een vitaal proces binnen Magento is het vernieuwen van indexeringen. Ontstaat er een foutmelding bij het indexeren, dan kan het zijn dat producten van de webshop verdwijnen, filters ontbreken, categorieën verdwijnen, de zoekfunctie geen resultaat geeft of de voorraadstatusen niet meer kloppen. In een enkel geval komt het voor dat het indexeren lang duurt of blijft hangen. Omdat indexeringen een proces is dat door PHP wordt uitgevoerd, wordt de CPU van de server belast. Hoewel dit een backendproces is, kan een zwaar belaste CPU een trage webshopervaring voor de bezoekers als gevolg hebben. H&O optimaliseert indexeringen door fouten in de techniek op te sporen en op zoek te gaan naar eventuele databasecorrupties. In sommige gevallen - bijvoorbeeld wanneer de productcatalogus meer dan 100.000 artikelen bevat - is het nodig om de intern ontwikkelde partial reindexer (gedeeltelijke indexeringen) in te zetten, of vervangende indexers in te zetten (zoals Ecomdev_URLRewrite). Indexeringen worden dan niet in hun volledigheid, maar slechts voor een deel vernieuwd.

12) Optimaliseren van import- en datasynchronisatieprocessen

Veel Magento webshops importeren periodiek productdata aangeleverd door een leverancier of synchroniseren voorraadinformatie met een extern ERP systeem. Er zijn verschillende implementatietechnieken om imports te realiseren, zoals Mage::getModel, Dataflow, ImportExport, FastSimpleImport of uRapidFlow. De keuze in importtechniek is veelal bepalend voor de maximaal haalbare snelheid. Net als indexeringen, is het importeren van productdata een proces dat door PHP wordt uitgevoerd. Met het importeren van data wordt dus de CPU van de server belast. Hoewel dit een backendproces is, kan een zwaar belaste CPU een trage webshopervaring voor de bezoekers als gevolg hebben. H&O optimaliseert importprocessen door een analyse van de techniek en eventuele fouten in te importeren data te corrigeren. Winst kan in veel gevallen behaald worden door het niet of anders importeren van attributen, attribuutgroepen en producttypen. In een enkel geval - bijvoorbeeld wanneer kwaliteit van de import te wensen over laat en de webshop door foutieve import niet functioneert - wordt geadviseerd om de import te herbouwen. H&O werkt in dat geval volgens haar intern ontwikkelde en opensource importmethodiek Ho_Import.

 

Performanceoptimalisatie door H&O

Laat uw huidige Magento webshop in snelheid optimaliseren door H&O

Korte paginalaadtijden en een algemeen snelle gebruikservaring zijn belangrijke factoren in het succes van een webshop. Magento staat bekend als langzaam, maar het is mogelijk om iedere Magentowebshop razendsnel te maken. H&O heeft de kennis en ervaring om ook de laadtijden van uw Magentowebshop terug te brengen naar minder dan 1 seconde. Het performanceoptimalisatie-proces van H&O webshopspecialisten bestaat uit de volgende activiteiten:

1) Queryanalyse

Een analyse van de frontend, waarbij wordt gekeken naar het aantal databasequeries en de duur van databasequeries. Veelgebruikte modules, zoals Amasty Shopby, Manadev Layered Navigation of Aitoc Shop by Brands staan erom bekend dat ze in bepaalde scenario's databasequeries kunnen doen die lang duren of blijven hangen. Ook maatwerkfunctionaliteit, waarbij queries tabellen samenvoegen of counts ophalen, kunnen hetzelfde probleem kennen. Vaak kan door een kleine wijziging in techniek het probleem opgelost worden.

2) Templateanalyse

Door de frontend in techniek te analyseren, kan foutief geïmplementeerde functionaliteit worden opgespoord. Veel gemaakte fouten die voor lange laadtijden van pagina's kunnen zorgen zijn bijvoorbeeld het modificeren van productcollecties op templateniveau, het inladen van externe scripts of het inladen van trackingpixels. Het uitschakelen of anders implementeren van deze functionaliteit lost in veel gevallen hangende pagina's op.

3) Frontendoptimalisatie

Het samenvoegen en minify-en van javascript-bestanden en css-bestanden, gzip compressie van php, instellen van cacheheaders, optimaliseren van javascripts, verwijderen van 404-calls, gebruik van een content delivery network, asynchroon inladen van likebuttons en social media streams, gebruiken van mod_pagespeed en het blockcachen van blokken op de pagina; met deze en andere frontendoptimalisaties zorgt H&O voor een extra snelle, 'snappy' paginaopbouw.

4) Performancevergelijking op testomgeving

Een kloon van uw webshop wordt verhuisd naar een testomgeving op één van onze servers. Door een combinatie van de meest geschikte caching- en serveroptimalisatietechnieken knijpen we de maximale snelheid uit de webshop. Bevalt onze hostingomgeving, dan helpen we u graag met de volledige verhuizing.

Dien nu een optimalisatieverzoek in!

H&O analyseert en optimaliseert een webshop volgens deze werkwijze in gemiddeld één dag. Metingen van grote eCommerce-spelers wijzen uit dat 1 seconde vertraging in pagina-laadtijd een daling van 2% in leadconversie als gevolg kan hebben.* Plaats vandaag nog een optimalisatieverzoek en meet binnen enkele dagen het verschil in uw verkoopcijfers. No cure, no pay.

* http://www.webperformancetoday.com/2014/04/09/web-page-speed-affect-conversions-infographic/

Kennis maken met ons Team? - De koffie staat klaar!

Curriculum Vitae (CV), Request for proposal of specificatiedocument.

* Verplichte velden