Antworten:
Stellen Sie zunächst fest, ob das Front-End-Rendering oder die tatsächliche Skriptausführung langsam ist. Fragen Sie in der Entwicklerkonsole Ihres Browsers nach der Zeit bis zum ersten Byte . So lange dauert es, bis das Skript auf dem Server verarbeitet wird
Auf dem Screenshot sehen Sie, dass es ziemlich niedrig ist (200 ms), sodass das Problem in diesem Fall nicht auf dem Server, sondern am Front-End liegt. Sagen wir, wenn es vorbei ist, möchten Sie vielleicht eine Sekunde optimieren.
Bevor Sie ein paar Booster und zusätzliches Caching ausprobieren, das kein Fix ist, versuchen Sie herauszufinden, was genau langsam ist. Sie können auch dafür mehrere Tools verwenden.
Langsame Abfragen
Magento kann die Datenbank ziemlich stark belasten, daher ist das Aktivieren des Slow Query Log möglicherweise ein guter Ausgangspunkt. In diesem Beitrag erfahren Sie, wie Sie es aktivieren. Das Protokoll zeigt alle Abfragen an, die länger als X Sekunden dauern.
Profiler
Mithilfe von Profilern erhalten Sie einen Einblick in die Vorgänge in Ihrem Code. Für Magento würde ich empfehlen, mit Aoe_Profiler zu beginnen . Einfach installieren und einschalten. Am Frontend erhalten Sie eine Ausgabe wie die folgende:
Erweitern Sie die Ergebnisse und suchen Sie nach großen roten Blöcken. Dies sind die tatsächlichen Zeiten, in denen ein bestimmter Teil des Codes für die Verarbeitung benötigt wurde. Achten Sie auf Module von Drittanbietern, die viel Zeit oder Speicherplatz beanspruchen.
Ein weiteres großartiges Werkzeug ist Black Fire . Da Aoe_Profiler ein Modul in Magento ist, zeigt es die zugrunde liegenden PHP-Prozesse nicht an und kann bei großen Installationen mit vielen Modulen abstürzen. Schwarzes Feuer läuft auf dem Server. Bei einem Hackathon haben wir eine Vagrant Box mit schwarzem Feuer aufgestellt Sie verwenden können. Legen Sie Ihr Projekt einfach dort ab und starten Sie es. Weitere Informationen zur Verwendung finden Sie auf der Black Fire-Website.
Letzteres ist wahrscheinlich mein Favorit: New Relic .
Leider ist es ein kostenpflichtiger Dienst, obwohl sie eine kostenlose Testversion für Pro-Konten bieten. Nachdem Sie es auf Ihrem Server installiert und das Profil verbunden haben, warten Sie einige Stunden, bis die Daten eingegangen sind. Stellen Sie sicher, dass im Shop etwas Verkehr ist.
New Relic hat auch einen Blog-Beitrag darüber, wie man Magento debuggt, den ich empfehlen kann. Schauen Sie sich auch das ProxiBlue New Relic an Modul für zusätzliche Magento-Daten in New Relic an.
Grundsätzlich werden Ihnen alle oben beschriebenen Funktionen wie langsame Abfragen, die Prozesse in PHP usw. gezeigt und in einfachen Grafiken und Tabellen angezeigt. Dies sollte Ihnen einen guten Einblick in das Problem in Ihrer Installation geben.
Und von hier Jetzt, da Sie wissen, was die geringe Leistung verursacht, können Sie mit der Lösung fortfahren. Suchen Sie in Foren wie diesem oder in Google nach dem Teil oder Modul von Magento, der langsam ist. Viele Probleme sind bekannt und andere haben sie bereits gelöst. Wenn Sie keine Lösung finden, posten Sie Ihre Frage hier und fügen Sie Ihre Ergebnisse in die Frage ein
Die Optimierung der Site-Geschwindigkeit in Magento ist ein sehr umfangreiches Thema. Dies ist ein Link, der Ihnen helfen kann,
http://www.gxjansen.com/blog/101-ways-to-speed-up-your-magento-e-commerce-website/
Im Kern geht es darum,
Sie müssen sich auf zwei Aspekte konzentrieren: 1. Frontend-Optimierung 2. Backend-Optimierung
Frontend-Optimierung
Sie können Fooman Speedster - http://www.magentocommerce.com/magento-connect/speedster-by-fooman.html installieren und css und js merge aktivieren
Aktivieren Sie das Magento-Blockcaching in admin.
Aktivieren Sie die Gzip-Komprimierung
Backend-Optimierung
Sie können Varnish für das Caching ganzer Seiten konfigurieren
Aktivieren Sie die Komplikation im Backend.
Flache Struktur für Katalog aktivieren (Kategorie und Produkte)
Hier sind ein paar kleine Tricks, die ich gefunden habe, um Ihre Website zu beschleunigen, die Sie vielleicht ausprobieren möchten:
Verschieben Sie das Laden von Bildern, indem Sie dies zum /template/page/html/head.phtml
<script>
function init() {
var imgDefer = document.getElementsByTagName('img');
for (var i=0; i<imgDefer.length; i++) {
if(imgDefer[i].getAttribute('data-src')) {
imgDefer[i].setAttribute('src',imgDefer[i].getAttribute('data-src'));
} } }
window.onload = init;
</script>
Dann /template/catalog/product/list.phtml
ändern Sie Ihre Bildlinks wie folgt:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AQQATUqB0EhKgAAAAxJREFUCNdj+P//PwAF/gL+3MxZ5wAAAABJRU5ErkJggg==" data-src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135); ?>" width="135" height="135" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a>
Eine andere Möglichkeit besteht darin, alle Javascripts und CSS-Dateien vor dem Gzip-Vorgang zu "komprimieren" und diese dann zu Ihren hinzuzufügen .htaccess
.
<ifModule mod_headers.c>
##### serve pre gziped files #####
# Rules to correctly serve gzip compressed CSS and JS files.
# Requires both mod_rewrite and mod_headers to be enabled.
# Serve gzip compressed CSS files if they exist and the client accepts gzip.
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.css $1\.css\.gz [L,QSA]
# Serve gzip compressed JS files if they exist and the client accepts gzip.
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.js $1\.js\.gz [L,QSA]
# Serve correct content types, and prevent mod_deflate double gzip.
RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]
</IfModule>
Magento ist ein großartiges E-Commerce-Framework. Es hat jede Menge Funktionen und Sie können wirklich eine skalierbare E-Commerce-Plattform aufbauen. Ich habe Magento in meinem neuesten Projekt verwendet und war mit diesem Geschwindigkeitsproblem konfrontiert. Nachdem ich einige Nachforschungen angestellt und Änderungen vorgenommen hatte, beschleunigte ich meine Website.
Server-Optimierung
Magento-Einstellungen
Installieren Sie den Redis Cache, APC Opcode und die Ganzseiten- Cache-Erweiterung. Installieren Sie PHP Accelerators. Installieren Sie den Redis Cache für das Backend und das Session-Caching
Image Optimization & YSlow - Durchschnittlich 56 Prozent des Seitengewichts einer Website bestehen aus Bildern. Durch die Optimierung Ihrer Produktbilder kann die Geschwindigkeit Ihrer Seiten drastisch erhöht werden, da dadurch die Downloadzeiten verkürzt werden. - Scannen Sie Ihre Website über gtmetrix oder Pingdom und folgen Sie deren Optimierungsvorschlägen.
Verwenden Sie CDN
Details dazu können Sie auf meiner Website nachlesen: http://www.ranjeetvimal.com/tips-to-speed-up-magento-1-9-performance/
Wenn Sie sich in einer Shared-Hosting-Umgebung befinden, ist es sehr schwierig, eine gute Geschwindigkeit zu erreichen, da Sie nicht die vollständige Kontrolle über den Server haben und die Ressource von mehreren anderen Websites verwendet wird .
andere Dinge, die Sie tun können -
1. Kombinieren Sie JS- und CSS-Dateien
Magento admin -> System Configuration -> Developer -> Under “Javascript Settings”, change “Merge Javascript Files” to YES.
Magento admin -> System Configuration -> Developer -> Under “CSS Settings”, change “Merge CSS Files” to YES
2.Ausgangskomprimierung aktivieren, Header ablaufen lassen und ETags in .htaccess-Datei deaktivieren, siehe https://stackoverflow.com/a/14745165/3114253
Verwenden Sie nach Möglichkeit CDN
Verwenden Sie die Kompilierungsfunktion von Magento. Es wird berichtet, dass Sie eine Leistungssteigerung von 25% -50% erhalten: System> Config. > Extras> Zusammenstellung.
Zeige kleinere Nr. des Produkts in der Produktliste.
Flachen Katalog aktivieren.
Gehen Sie in der Magento-Administratoroberfläche zu System> Configuration> Catalog. Ändern Sie unter Frontend die Option Use Flat Catalog Category in YES. Falls gewünscht, ändern Sie unter Frontend Use Flat Catalog Product in YES. Leeren Sie den Cache.
Wenn Sie versuchen, Ihr Frontend zu beschleunigen:
Backend:
Um die Geschwindigkeit der Magento-Website zu erhöhen, sollten Sie sie zuerst mit www.gtmetrix.com oder Google Page Speed Insights scannen:
dann können Sie entscheiden, was getan werden könnte. In den meisten Fällen handelt es sich um: