Sie müssen zuerst entscheiden, was Sie testen, ob es sich nur um die PHP-Renderzeit handelt - oder um die Ladezeit der realen Seite.
In beiden Szenarien ist die Verwendung von Firebug nicht zuverlässig, da Ihre Internetverbindung selbst der Engpass oder Grund für Jitter sein kann.
PHP-Renderzeit
Wenn Sie nur sehen möchten, ob sich die PHP-Renderzeit verbessert / geändert hat, ist es am genauesten, die Ausgabe des Magento-Profilers zu verwenden.
In index.php
, Kommentar
Varien_Profiler::enable();
Dann in
Admin> System> Konfiguration> Entwickler
Stellen Sie sicher, dass der Profiler aktiviert ist.
Am Ende jeder Seite (Front-End und Back-End) wird eine tabellarische Ausgabe angezeigt, die die Ladezeit der Seite, gemessen vom Startpunkt, Mage::run()
aufschlüsselt. Die allererste Zeile zeigt die gesamte PHP-Renderzeit (innerhalb von Mage) an.
Dies wird Ihre genaueste Zahl sein, um festzustellen, ob Ihre PHP-Änderungen die Ladezeit der Seite beeinflussen, ganz zu schweigen davon, dass Leistungsengpässe festgestellt werden.
Renderzeit des PHP-Webservers
Die nächste Art von Test besteht darin, den Overhead des Webservers selbst zu berücksichtigen (jedoch nicht die Konnektivität auf der letzten Meile). Damit dieser Test genau ist und nicht vom Internet selbst beeinflusst wird, sollten Sie ihn auf dem Webserver selbst ausführen.
Wir verwenden unser eigenes Dienstprogramm mage-perftest
(weitere Informationen finden Sie hier ), mit dem Sie die reine PHP-Renderzeit, die Ladezeit von Seiten in der realen Welt und sogar Parallelitätstests testen können.
Um nur die Renderzeit des PHP-Webservers zu testen, verwenden Sie (ersetzen Sie die URL entsprechend).
./mage-perftest -u me-s1.sonassihosting.com -b
Dieser Test gibt eine Aufschlüsselung der Ladezeit der Seite (nur für das PHP-Element der Seite, wobei JS / CSS / Images ignoriert werden). Die Ausgabe sieht ungefähr so aus:
Test Summary
============
Total files: 1
Total downloaded: 4K
Avg. page weight: 4.00K
Total time: 0.035s
Min response: 0.035s
Max response: 0.035s
Avg. page response: 0.03s
Concurrency/Repeats: 1
Transactions/s 28.57
Test URL: me-s1.sonassihosting.com
Success rate: 1/1 (100.00%)
Renderzeit des realen Webservers
Die letzte Art des Tests ist die Zeit, die zum Herunterladen der gesamten Seite benötigt wird (PHP + statischer Inhalt). Auch hier können Sie dies mage-perftest
tun, z.
./mage-perftest -u me-s1.sonassihosting.com
Vermeiden Sie Online-Testdienste wie die Pest
Es gibt einige Online-Geschwindigkeitstest-Tools wie GTMetrix, Pingdom usw. Diese liefern Ihnen keine genauen Ergebnisse für die granulare Profilerstellung.
Sie haben ihren Platz beim Testen der externen Netzwerkkonnektivität, sind jedoch völlig nutzlos, um die tatsächliche PHP-Leistung zu überprüfen. Halten Sie sich dazu an die Tests auf dem Server / vor Ort.
Weitere Hinweise
Wir haben einen Artikel über Remote-Tests geschrieben und warum Sie dies vermeiden sollten:
http://www.sonassi.com/knowledge-base/magento-kb/why-siege-isnt-an-accurate-test-tool-for-magento- Performance/
Magento in einem VPS auszuführen ist eine schlechte Idee. Andere mögen anderer Meinung sein - aber es ist aus mehreren Gründen keine geeignete Umgebung für ein Magento-Geschäft - und wir haben viele Fragen in diesem Sinne beantwortet, hier einige
mage::dispatch::routers_match
undmage::dispatch::controller::action::predispatch
scheint ein Engpass zu sein, obwohl ich nicht sicher bin, welche Lösung es gibt ... die Suche bringt nicht viel.mage::dispatch::routers_match
22 Sekunden beim Laden von 28 Sekunden . Auf der gleichen Last gibt es auchmage::dispatch::controller::action::predispatch
bei 22s,CORE::create_object_of::Mage_Core_Model_Session
bei 21s undMage_Core_Model_Session_Abstract_Varien::start/start
bei 21s. Ich bin mir sicher, dass etwas mit Eltern / Kindern los ist, aber darouters_match
es das längste ist, gehe ich davon aus, dass dies das Elternteil der anderen 20-Sekunden-Funktionen istMage
wird es am längsten dauern, da es alles enthält,Routers_Match
ist im Grunde die nächste Funktion, die es aufruft, aus der alles andere hervorgeht. Es ist nicht der Engpass, aber etwas, das es nennt (siehe weiter unten in der Tabelle). Öffnen Sie nicht mehr als ein Fenster, wenn Sie ein Profil erstellen - das bringt nichts.Routers_Match
ist es:DISPATCH EVENT:controller_action_predispatch
um 21.0710 undOBSERVER: log
um 21.0565Dies ist höchstwahrscheinlich ein Serverproblem und kein Magento-Problem. Je nachdem, welche Art von Server Sie verwenden, können Sie eine Ladezeit von weniger als einer Sekunde erhalten. Sie können hier sogar anspruchsvollere Tests durchführen: http://www.magespeedtest.com/ . Sie können dort auch die Geschwindigkeit anderer Serveranbieter überprüfen.
Ich würde auch empfehlen, den Wasserfallbericht von http://www.webpagetest.org/ zu verwenden und zu sehen, woher genau Ihre "Langsamkeit" kommen kann. Es wird in Teile zerlegt (z. B. wie lange das Herunterladen der einzelnen CSS-, JS- und Image-Dateien dauert), um die Geschwindigkeit zu verbessern.
Selbst wenn Sie den Magento-Code, CSS, JS, Bilder und Inhalte in vollem Umfang optimieren, ist der Server immer das größte Problem. Ich würde empfehlen, einen Magento-Hosting-Anbieter zu verwenden, da deren Server besser auf Magento abgestimmt sind. Persönlich benutze ich Nexcess, aber andere, von denen ich gute Dinge gehört habe, sind Sonassi Hosting und Peer1.
Es gibt einige Artikel zur Verbesserung der Geschwindigkeit. Ich würde empfehlen, die weißen Seiten auf der Magento-Website zu lesen.
Obwohl es eher auf Unternehmen ausgerichtet ist, können Sie dennoch von vielen Ratschlägen profitieren. Stellen Sie außerdem sicher, dass Sie Magento auf dem neuesten Stand halten! Sie sollten nicht mehr als zwei Versionen aus der aktuellen Version fallen lassen.
quelle