Magento-Performance en Optimalisatie

Het webshop CMS Magento is met name het laatste jaar erg populair geworden. Het heeft enorm veel features en is makkelijk in het gebruik. Hierdoor worden er nu al een behoorlijk aantal Magento shops op onze virtuele servers gehost. Een klacht die wel regelmatig naar boven komt betreft shops die langzaam worden op drukke momenten, hierdoor kan er voor een webshop makkelijk omzet verloren gaan. Het toevoegen van extra RAM op de server of VPS is hierbij maar in beperkte mate een oplossing omdat Magento in deze gevallen ook veel te hongerig naar CPU-kracht bleek en enthousiast alle beschikbare cores vol trok.

Wij kijken vaak met klanten mee om de performance van hun sites en applicaties te verbeteren en zo ook met Magento. Hieronder een aantal configuratietips van onze systeembeheerders die de performance van Magento enorm kunnen verbeteren.

  • Gebruik een up-to-date versie van Magento. De ontwikkelaars van Magento zijn zich bewust van de performance issues en zijn de laatste maanden hard bezig om de snelheid te verhogen.
  • Zet de logging module mage_log uit, deze veroorzaakt enorm veel harddisk IO. Als alternatief kan er binnen Magento een Google Analytics ID worden opgegeven.
  • Sla de var-directory binnen het geheugen op. Dit kan met tmpfs bereikt worden en zal een enorme hoeveelheid harddisk-IO voorkomen.
  • Optimaliseer Apache en MySQL. Binnen Apache is het belangrijk om KeepAlive uit te schakelen zodat inactieve threads geen geheugen gebruiken. Bij MySQL is de eerste stap bij optimalisatie het activeren en optimaliseren van de query_cache_size en thread_cache_size. Hoe we deze en andere variabelen veranderen is echter sterk afhankelijk van de specifieke situatie.
  • Opcode caching aanzetten. Dit kan een hoop schelen, eAccelerator is onze favoriet maar er zijn meerdere oplossingen beschikbaar.

Neem als bestaande klant of lezer van dit blog gerust contact met ons op als u meer advies nodig heeft. Wij denken graag met u mee om de snelheid van uw site of applicatie te maximaliseren en daarbij de kosten beheerstbaar te houden.

  • Digg
  • StumbleUpon
  • Twitter
  • del.icio.us
  • Facebook
  • Hyves
  • Reddit

Tags: , , , , , , , , , , , , , , ,

6 Responses to “Magento-Performance en Optimalisatie”

  1. Zet KeepAlive juist _aan_ in Apache, maar gebruik een korte timeout waarde. Anders ga je juist forken en dat is wat je niet wil.

  2. peter says:

    NIeuwe clients leiden niet tot forks tenzij je Apache zo instelt dat-ie na elk request afsterft (in suphp-achtige situaties is dat soms onvermijdelijk). In een dedicated Magento-situatie zul je echter altijd regelen dat een child duizenden requests kan afhandelen voordat hij sterft en dan is er geen fork-overhead.

    KeepAlive aan met een heel lage timeout zal vooral voor de clients wat latency schelen, maar als het erg druk is sluit je er toch clients mee buiten, is mijn ervaring.

  3. Dave says:

    Hoeveel ram is minimaal aan te raden voor een gemiddelde Magento installatie?

  4. Tauros Media says:

    Tauros Media heeft een aantal aanvullingen:

    1) vVrwijder de regel code php_value memory_limit 128M. Deze kan worden gevonden in de root .htaccess file.
    Dit zal de laadtijd van de pagina’s sterk verbeteren.

    2) Installeer de Fooman speedster extension: http://www.magentocommerce.com/magento-connect/FOOMAN/extension/457/fooman-speedster

  5. Lennard says:

    Om met Magento te ontwikkelen werkt een halve G al. Bij een webshop in productie hangt het erg af van zaken als de drukte en de zwaarte van de database, hiervoor zien wij meestal waardes van 1G tot 3G.

  6. Die speedster extension van fooman zou ik op dit moment niet installeren. Het heeft mij een aardig zweetmomentje opgeleverd. De extensie zorgde ervoor dat al mijn css en js over hoop ging en ik totaal geen stijl meer had in mijn shop en backend.

    Gelukkig kon ik hem via de magento downloader verwijderen. maar ben er wel anderhalf uur zoet mee geweest.

Leave a Reply