Vind bottlenecks van trage pagina’s met Magento Profiling (M1)

Vind bottlenecks van trage pagina’s met Magento Profiling (M1)

De meesten van jullie hebben er waarschijnlijk last van dat bepaalde Magento 1.x webshop pagina’s een stuk trager zijn dan andere. Wanneer bepaalde pagina’s traag zijn, zit het probleem in de meeste gevallen in de PHP-bestanden of in een extensie van Magento. Zeker bij uitgebreide Magento webshops kan het erg veel tijd kosten om dat probleem te traceren. Maar als u als ontwikkelaar de juiste tools in handen hebt, kan dat een hoop speurwerk schelen.

Hoe gebruik je de Magento Profiler?

  • Profilen doe je op de Staging site, nooit op de live-site.
  • Pas het index.php-bestand in de root directory aan en zet daarin de volgende regel aan (# ervoor weghalen):

    Varien_Profiler::enable();

  • Ga via de Magento Admin naar:
    System > Configuration > ADVANCED > Developer > Debug
  • Zet daar “Profiler” op “Yes“.
  • Ga via de Magento Admin naar:
    System > Configuration > ADVANCED > Developer > Developer Client Restrictions
  • Zorg dat het vakje leeg is.
  • Check deze twee settings ook als je links boven de ‘Configuration Scope’ op de specifieke Store View zet.
  • Ga via de frontend naar de pagina die traag is.
  • Onder aan de pagina verschijnt een hele tabel met informatie over de Magento-onderdelen.
  • Kopieer de tabel in Excel. Mocht dat niet goed werken, probeer het dan vanuit Internet Explorer.
  • Sorteer in Excel de tabel op de kolom “Time”, aflopend.
  • Je ziet steeds hoeveel tijd een onderdeel gekost heeft. Maar let op: sommige onderdelen bevatten ook weer andere onderdelen, en dat is niet te zien in deze tabel.
  • Kijk door de tabel van boven naar beneden.
  • Als je de tijd na een bepaald onderdeel veel kleiner ziet worden, is dat onderdeel waarschijnlijk de boosdoener. Het is dan namelijk zo dat het onderdeel zélf veel tijd heeft gekost.
  • Hieronder zie je vrij algemene dingen; deze bevatten sowieso nog andere onderdelen, dus zijn meestal niet de boosdoener:
    mage
    mage::dispatch::routers_match
    mage::dispatch::controller::action::*
    frontend/default/*/template/page/*columns-left.phtml

Meer informatie over de Profiler:

Keeping your Magento fit with built in profiler

Over de auteur
Jeroen Vermeulen
Jeroen weet alles over webhosting en de ontwikkeling van webshops. Als expert developer werkt hij dan ook vaak mee aan diverse open source projecten rondom security en performance. Hij heeft zich bewezen als één van de top-Magento-programmeurs van de Benelux. Daarom is Jeroen een graag gehoord spreker in zijn vakgebied en de wereld van IT-dienstverlening. Met zijn bedrijf MageHost.pro biedt Jeroen sinds 2012 gespecialiseerde en snelle e-commerce hosting.