Die Ladegeschwindigkeit der Website ist sehr langsam

25

Die Geschwindigkeit beim Laden der Magento-Site-Seite meines Kunden ist sehr langsam. Was kann ich tun, um die Ladezeit der Seite zu verringern?

Die Website-URL lautet desibazaar.pk.

Shehryar
quelle

Antworten:

36

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

Bildbeschreibung hier eingeben

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:

Bildbeschreibung hier eingeben

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.

Bildbeschreibung hier eingeben

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

Sander Mangel
quelle
Excellent .. Vielen Dank für den Einblick in "BlackFire"
Rajeev K Tomy
11

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

  1. Sie können Fooman Speedster - http://www.magentocommerce.com/magento-connect/speedster-by-fooman.html installieren und css und js merge aktivieren

  2. Aktivieren Sie das Magento-Blockcaching in admin.

  3. Aktivieren Sie die Gzip-Komprimierung

Backend-Optimierung

  1. Sie können Varnish für das Caching ganzer Seiten konfigurieren

  2. Aktivieren Sie die Komplikation im Backend.

  3. Flache Struktur für Katalog aktivieren (Kategorie und Produkte)

huzefam
quelle
1

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>
Freejoy
quelle
1

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

  • Verwenden Sie Nginx als Webserver
  • Verschieben Sie MySQL auf einen anderen Server mit Master-Slave-Replikat. Wenn Sie mit AWS arbeiten, verwenden Sie RDS für MySQL.
  • Optimieren Sie Nginx & Php-fpm
  • Aktivieren Sie die gzip-Komprimierung
  • Aktivieren Sie den Browser-Cache

Magento-Einstellungen

  • Deaktivieren Sie alle unnötigen Erweiterungen
  • Zusammenführen von CSS- und JavaScript-Dateien
  • Protokoll deaktivieren
  • Bereinigen Sie die Magento-Protokolltabellen
  • Aktivieren Sie den externen Ganzseiten-Cache

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/

Ranjeet Vimal
quelle
0

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

  1. Verwenden Sie nach Möglichkeit CDN

  2. Verwenden Sie die Kompilierungsfunktion von Magento. Es wird berichtet, dass Sie eine Leistungssteigerung von 25% -50% erhalten: System> Config. > Extras> Zusammenstellung.

  3. Zeige kleinere Nr. des Produkts in der Produktliste.

  4. 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.

Arun Karnawat
quelle
0

Wenn Sie versuchen, Ihr Frontend zu beschleunigen:

  • Verwenden Sie eine CDN für Bilder (!) und reduzieren Sie die Bildgröße
  • Verketten Sie CSS und JS
  • Laden Sie JS vor dem schließenden Body-Tag
  • Verwenden Sie, wann immer möglich, asynchrones js-Laden
  • Verwenden Sie Bild-Sprites oder eine Symbol-Schriftart anstelle von Tausenden von PNG-Dateien
  • ungenutztes CSS reduzieren
  • Generieren Sie einen kritischen Pfad für Ihr CSS

Backend:

  • Verwenden Sie einen zusätzlichen Cache wie Lack (TTFB <15ms) oder LestiFpc
  • Erstellen Sie ein Profil für Ihre beim Laden von Seiten und komplexen MySQL-Abfragen und korrigieren Sie diese
  • aktiviere gzip, etags, browser-cache etc. über .htaccess
  • Verwenden Sie MySQL auf einem einzelnen Server
upandfine
quelle
Verlinken Sie nicht mit Ihrer Einladungs-URL zu bezahlten Diensten, um Ihren persönlichen Gewinn zu erzielen.
7ochem
0

Um die Geschwindigkeit der Magento-Website zu erhöhen, sollten Sie sie zuerst mit www.gtmetrix.com oder Google Page Speed ​​Insights scannen:

Google Page Speed ​​Score

dann können Sie entscheiden, was getan werden könnte. In den meisten Fällen handelt es sich um:

  • Zeit bis zum ersten Byte optimieren (TTFB) , um die Antwortzeit des Servers zu
  • Parsing von Javascript aufschieben
  • Bilder optimieren
  • Verwenden Sie CSS-Sprites
  • Bildabmessungen einstellen
  • Minimieren Sie CSS / JS / HTML
  • Führen Sie JS / CSS zusammen, um die Anzahl der HTTP-Anforderungen zu verringern

Von 34 Wegen genommen, um M1 und M2 zu beschleunigen

Konstantin Gerasimov
quelle