Volg ons via:
telefoonnummer

Magento optimalisatie - Hoe verbeter ik de performance van Magento?

Onze Magento hosting is behoorlijk snel, maar uw website moet dan wel gebruik maken van de mogelijkheden die onze servers u bieden. Een snelle webshop is essentieel. Een langere laadtijd van uw website betekend tenslotte onnodig klant verlies.

  1. Memcache - De grootste verbetering kan worden behaald door het gebruik van Memcache
  2. Sessies - Wanneer klanten pagina's openen worden er standaard  sessie bestanden geschreven in de map /var/session/ de aantallen bestanden kunnen oplopen tot soms 500.000+ bestanden. Hierdoor word de webserver traag, omdat deze bestanden worden gelezen bij het benaderen van deze directory. Wijzig het bestand app/etc/local.xml:
    • <session_save><![CDATA[files]]></session_save>
      naar:
      <session_save><![CDATA[memcache]]></session_save>
    • Wanneer u geen Memcache heeft op uw server of hosting kunt u ervoor kiezen om de sessies op te slaan in de database. Ook dit zorgt voor performance winst:
      <session_save><![CDATA[db]]></session_save>
  3. FileTag -  De server kan uw bestanden sneller vinden in de cache wanneer u uw htaccess bestand uitrust met het commando eTags. Voeg hiervoor de onderstaande regel toe in het .htaccess bestand in de root:
    • FileETag none
       
  4. Expire Headers - Wanneer bezoekers uw website voor de tweede keer bekijken is het nuttig dat bestanden die al een keer gedownload zijn niet nog eens worden gedownload, dit neemt namelijk flink wat extra tijd in beslag.
    • Plaats de onderstaande regels in het .htaccess bestand in de root van uw Magento installatie.
      # BEGIN Expire headers
      <ifModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault "access plus 5 seconds"
        ExpiresByType image/x-icon "access plus 2592000 seconds"
        ExpiresByType image/jpeg "access plus 2592000 seconds"
        ExpiresByType image/png "access plus 2592000 seconds"
        ExpiresByType image/gif "access plus 2592000 seconds"
        ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
        ExpiresByType text/css "access plus 604800 seconds"
        ExpiresByType text/javascript "access plus 604800 seconds"
        ExpiresByType application/javascript "access plus 604800 seconds"
        ExpiresByType application/x-javascript "access plus 604800 seconds"
      </ifModule>
      # END Expire headers

      Deze Expire Headers zorgen ervoor dat klanten minder hoeven te downloaden. Eventueel kunt u als alternatief de GTspeed module gebruiken. (het dubbel toepassen van Expire headers is niet nodig. U dient daarom een keuze te maken tussen deze oplossing en de Expire header opties die worden aangeboden in GTspeed.
       
  5. Optimaliseer uw afbeeldingen. Bestanden bestand voor een klein deel uit achterliggende informatie zoals 'de auteur', 'wanneer is het bestand gemaakt', 'wanneer is het bestand voor het laatst gewijzigd', etc. Al deze informatie lijkt niet veel, maar wanneer alle plaatjes op uw website deze extra informatie bevatten kan dit een redelijke performance winst opleveren. Uw klanten hoeven tenslotte minder te downloaden. De techniek waar dit mee kan heet "loss less compression" en kan zowel handmatig als automatisch worden uitgevoerd.
    1. Handmatig via TunyPNG. Upload uw plaatjes en download deze weer.
    2. Automatisch met de gratis GTspeed module voor Magento. Met deze module kunt u alle afbeeldingen op uw website in 1 keer optimaliseren.
       
  6. Flat Products Wanneer u catalogus veel producten bevat kan uw website sneller worden gemaakt door de pagina's met producten niet langer uit de database op te halen, maar uit de html cache. U kunt dit inschakelen vanuit de Magento Admin. Het is aan te raden deze optie enkel in te schakelen vanaf 1000 producten.
    • U vindt deze optie onder Systeem -> Catalogus -> Frontend -> "Gebruik platte catalogus producten = JA"
       
  7. Flat Categories - Uw website kan sneller worden gemaakt door de pagina's met producten niet langer uit de database op te halen, maar uit de html cache. U kunt dit inschakelen vanuit de MagentoAdmin.
    • U vindt deze optie onder Systeem -> Catalogus -> Frontend -> "Gebruik platte catalogus categorie = JA"
     
  8. Zend Full Page Cache - Het laden van pagina's kost kostbare tijd. Deze laadtijd bestaat deels uit het uitvoeren van database queries en het laden van bestanden. Deze kunnen beiden worden voorkomen door de Zend Full Page Cache in te schakelen.
    • U vindt deze optie onder Systeem -> Configuratie -> Onder de kop ‘geavanceerd’ -> optie ‘Systeem’.
    • Stel deze optie in met onderstaande instellingen:
      • Activeer External Cache              - Ja
      • Cookie Lifetime (seconden)      - 3600
      • Externe Cache Instellingen         - Zend full page cache.
         
  9. Compilation - Het Zend Framework waar Magento in is gebouwd bestaat uit letterlijk duizenden bestanden met nog veel meer classes. Deze kunnen met deze optimalisatie worden samengevoegd in één class. Het laden van de classes scheelt hierdoor behoorlijk wat tijd.
     
    • Belangrijk: gebruik dit nooit zonder te testen op je live omgeving.
    • Om deze functie te laten werken moeten de mappen /includes en /includes/src/  schrijfbaarzijn (777).
       
    • U vindt de compilatie optie onder Systeem -> Tools -> Compilation.
    • Klik op de knop 'Run compilation process'. Na enkele minuten is de compilatie geactiveerd.
       
    • Zodra je modules installeert/upgrade via Magento Connect of handmatig wijzigingen aan code uitvoert dien je de compilatie eerst uit te schakelen, omdat anders worden de gewijzigde bestanden niet door de installatie gebruikt.
       
  10. Logs korter bewaren - Uw website bewaart standaard logs in de database. Aangezien we uiteraard veel verkeer verwachten kan het aantal records behoorlijk oplopen tot enkele GB's database ruimte. Het regelmatig (automatisch) opruimen van deze logs en het korter bewaren kan al snel een leuke snelheidswinst opleveren.
     
    Op uw productie omgeving is het sterk af te raden om logs voor langere tijd te bewaren!
     
    Allereerst dient u de Magento cron in te stellen. Deze cron is verantwoordelijk voor alle automatische bewerkingen die Magento kan uitvoeren. In dit geval het opschonen van de logs.

    Stel een crontab in die om de 5 minuten draait voor het bestand http://uwwebsite.nl/cron.php. Wanneer u SATserver gebruikt kunt u de cron instellen door in te loggen op www.satserver.nl en daarna onder de tab 'Geavanceerd' te kiezen voor de functie 'Crontab'.

    De instellingen van de cron
    • Naam: kies hier een passende naam zoals "Magento Main Cron".
    • URL: cron.php
    • De gebruikersnaam en wachtwoord velden kunt u leeg laten.
    • Minuut: */5
    • Uur: *
    • Dag van de maand: *
    • Maand: *
    • Dag van de week: *
    • Aan/Uit: Aan
    • Klik na het instellen van de opties op de knop 'Toevoegen'.
     
    Daarna kunt u uw Magento installatie correct instellen:
    • Log in op de admin
    • U vindt de logfile opties onder Systeem -> Configuratie -> Systeem (links onderin) -> Log opschonen. Gebruik onderstaande instellingen.
    • Bewaar log, dagen: 15
    • Log opschonen inschakelen: Ja
    • Starttijd: 00 00 00 (dit gebeurd 's nachts om de server overdag te ontlasten).
    • Frequentie: Dagelijks
    • Overige instellingen kunt u naar wens invoeren, maar mogen ook leeg gelaten worden.
     
    Wanneer u geen gebruik maakt van de Systeemlogs raden wij aan deze uit te schakelen.
    • Systeem -> Configuratie -> Ontwikkelaar (links onderaan) -> Log-instellingen -> Schakel delogging uit en sla de configuratie op.

 

 

chat