5 wichtige Tipps zur Verbesserung Ihres Magento TTFB
Veröffentlicht: 2019-01-08Dies ist ein Gastbeitrag von Vasili Nikolaev.
Die Zeit bis zum ersten Byte (TTFB) ist eine der wichtigsten Geschwindigkeitsmetriken einer Website. Es gibt an, wie viel Zeit vergehen wird, nachdem ein Benutzer Ihre Magento-Shop-URL eingegeben hat, und wie lange er eine Antwort erhält, selbst wenn sie nur 1 Byte beträgt (daher der Name „Zeit bis zum ersten Byte“).
Die Zeit bis zum ersten Byte ist sowohl für Menschen (sie warten nicht gerne) als auch für Suchmaschinenroboter (Google hasst langsame Websites und stuft sie niedriger ein – klicken Sie hier, um mehr über die erstklassige Magento 2-SEO-Lösung von zu erfahren MageWorx).
Aber gleichzeitig gibt es überzeugende Beweise von John Mueller, einem der sprechenden Köpfe von Google, dass Google TTFB nicht für Rankings verwendet:
Unser Rat lautet also, sich für SEO nicht zu sehr auf TTFB zu konzentrieren, sondern sich stattdessen auf die Benutzererfahrung und die Leistung des Geschäfts zu konzentrieren.
Warum ist TTFB wichtiger als das Laden der gesamten Seite (als „Zeit bis zum letzten Byte“ bezeichnet)? Nun, je früher Sie das erste Byte laden, desto schneller beginnen die Benutzer, Ihre Inhalte zu lesen. Es spielt keine Rolle, dass sie nicht jedes Bild auf der Seite sofort sehen können. Es ist wichtiger, den Benutzern etwas zu tun zu bieten, während Ihr Webserver damit beschäftigt ist, den Rest des Inhalts zu laden.
Inhaltsverzeichnis
- 1. Verstehen Sie Ihre Engpässe, um sie zu beseitigen
- Was ist ein guter TTFB?
- 2. Migrieren Sie zu einer besser geeigneten Datenbank-Engine
- 3. Passen Sie die Servereinrichtung an Ihre aktuellen Verkehrsanforderungen an
- 4. Richten Sie eine bessere Caching-Lösung ein
- 5. Befreien Sie sich von nutzlosen Erweiterungen
- Bonus-Tipp: Optimieren Sie die Einstellungen für Store und Kundenprotokollierung
- Ein ständiger Kampf um Leistung
1. Verstehen Sie Ihre Engpässe, um sie zu beseitigen
Was ist ein guter TTFB?
Google gibt an, dass eine TTFB unter 200 ms das Ziel ist. Unter 200 ms werden Sie von der Suchmaschine am höchsten eingestuft. Sobald Sie diesen Wert überschreiten, wird Google Strafen auf Ihre Website anwenden. 600 ms oder mehr bedeutet, dass Sie nicht einmal Googles eigenen TTFB-Test bestehen können.
Es gibt viele Faktoren, die Ihre TTFB beeinflussen. In keiner bestimmten Reihenfolge:
- Konfiguration und Ressourcen des Webservers,
- Nameserver-Auflösungsgeschwindigkeit,
- On-Page-Code-Ausführungszeiten,
- implementierte Backend-Caching-Lösungen,
- Netzwerk Vermutung.
Überprüfen Sie Ihren TTFB-Wert entweder mit einem Drittanbieterdienst oder mit dem Google TTFB-Test. Sie können Ihre Ergebnisse hier auch mit beliebten Websites oder mit Ihrer Konkurrenz vergleichen, um eine einzigartige Perspektive darauf zu erhalten, wie Ihr Shop für mobile Benutzer geladen wird.
Ein weiteres großartiges Diagnosetool ist Magento 2 Profiler . Damit können Sie jede Seitenanforderung ganz einfach in kleinere Blöcke zerlegen, die sich schnell visualisieren und analysieren lassen.
Achten Sie in der Tabelle besonders auf zwei wichtige Werte, Zeit und Anzahl. Zeit ist selbsterklärend. Es ist die tatsächliche Verzögerung zwischen der Benutzeranfrage und der Serverantwort. Die Cnt-Zeile gibt an, wie oft dieses Element aufgerufen wurde, bevor es die Ausgabe erzeugte.
Es lohnt sich, den Database Profiler in Verbindung mit dem Standard-Profiler von Magento 2 zu verwenden, um Datenbankabfragen zu analysieren.
Dies ist der erste Schritt, den Sie tun müssen: Aktivieren Sie Magento Profiler und sehen Sie sich Seiten an, die die größten Probleme mit TTFB haben. Obwohl Sie den Standard-Profiler verwenden können, empfehlen wir Ihnen, Profiler SQL einzurichten. Es ist kostenlos und bietet einen bequemen Überblick über die Anzahl der Abfragen pro Sitzung.
Der Profiler schneidet alle Anfragen in kleinere Teile, sodass Sie sofort sehen können, welche Abschnitte Sie nach unten ziehen.
2. Migrieren Sie zu einer besser geeigneten Datenbank-Engine
Die Magento 2 Store-Datenbank kann leicht zum größten Leistungsengpass werden, wenn sie ineffizient oder langsam ist oder eine Speicher-Engine verwendet, die nicht die beste Wahl für die Handhabung von Magento ist.
Warum ist das wichtig? Es gibt eine große Auswahl an verschiedenen Speicher-Engines für MySQL. Wir haben mindestens 10 unterstützte Lösungen in der offiziellen MySQL-Dokumentation gezählt und es gibt noch mehr in freier Wildbahn.
Während Sie Magento mit der Standard-MyISAM-MySQL-Engine verwenden können, können alternative Datenbank-Engines wie MariaDB Ari, eine Speicher-Engine oder die Percona XtraDB-Engine, Ihren Shop im Vergleich zum Standard-Setup stabiler und (manchmal) schneller machen.
Beispielsweise verwendet die Aria -Engine einen intelligenteren Ansatz in Fällen, in denen Magento die Speicher-Engine zwingt, viele temporäre Tabellen zu verwenden.
Percona ist ein weiterer Fork von MySQL, der im Laufe der Zeit eine Reihe von Leistungsoptimierungen integriert hat, um Datenbankabfragen zu beschleunigen. Im Vergleich zu MyISAM arbeitet es viel schneller mit vielen parallelen Abfragen und ist auf die Verarbeitung von Transaktionen spezialisiert.
Auch wenn die beste Empfehlung für die Datenbankoptimierung darin besteht, Ihre Bedürfnisse sorgfältig zu prüfen und die Engine auszuwählen, die am besten zu Ihnen passt, haben wir ein paar Tipps, die für alle nützlich sein werden:
- Vermeiden Sie Standard-MySQL für die Store-Suche. Installieren Sie Elasticsearch, um alle Suchanfragen auf Ihrer Website zu beschleunigen,
- Wählen Sie die für Sie am besten geeignete Datenbank-Engine aus.
3. Passen Sie die Servereinrichtung an Ihre aktuellen Verkehrsanforderungen an
Auf die Infrastruktur zu verzichten ist keine gute Idee. Im Laufe der Zeit wird ein stetig wachsendes Unternehmen mehr Kunden, mehr Transaktionen und mehr Bestellungen verzeichnen. Es ist also gesund, Ihr Setup auf 80 % Kapazität zu halten, um sich an zufällige Nutzungsspitzen und ereignisbedingten Fußgängerverkehr anzupassen. Diese 20 % können viel dazu beitragen, in allen Situationen ein angemessenes Leistungsniveau aufrechtzuerhalten.
Ein Hosting-Team, das sein Geld wert ist, wird Ihnen sagen, welche Systemvoraussetzungen Sie für einen reibungslosen Betrieb benötigen. Wenn Sie jedoch über einen bestimmten Zeitraum schnell gewachsen sind, liegt es in Ihrer eigenen Verantwortung, einen Fahrplan für das Upgrade zu skizzieren.
Es gibt eine Reihe kritischer Punkte in Ihrem Magento-Shop, die Ihre Systemanforderungen stark beeinflussen:
- Ladengröße (Anzahl der Ladenaufrufe),
- Kategorien und SKUs im Katalog (mit Attributen und Attributsätzen),
- durchschnittliche Verkehrszahlen (durchschnittliche Seitenaufrufe und historische Spitzenwerte),
- Transaktionen pro Tag (digitale Downloads, Zahlungen und ähnliche Vorgänge).
Im Allgemeinen beeinflusst Ihr durchschnittlicher Datenverkehr direkt, wie viel CPU-Leistung Sie benötigen. Nachdem Sie also das optimale CPU-Setup herausgefunden haben, passen Sie Ihren Arbeitsspeicher an Ihre CPU-Anforderungen an, um ein ausgewogenes Webserverprofil zu erstellen.
Die Größe des Datenbankspeichers hängt von Ihrem aktuellen RAM ab, daher sollten Sie gerade genug nehmen, um alle aktuellen Anforderungen abzudecken. Schaffen Sie auch ein Performance-Polster für etwas Luft zum Atmen. Ihr Ziel ist es, immer mindestens 20-25 % CPU und RAM freizuhalten, um gelegentliche Verkehrsspitzen zu bewältigen.
4. Richten Sie eine bessere Caching-Lösung ein
Website-Caching ist das Nächstbeste nach der Erfindung der Pommes Frites. Der Server-Cache verbessert die Schnelligkeit der Website, sodass sie sich viel schneller anfühlt. Caching funktioniert, indem häufig verwendete Daten von SSD oder einer Festplatte in den Arbeitsspeicher verschoben werden.
Während HDDs Daten mit bis zu 200 MB/s und SSDs mit bis zu 3200 MB/s sequentiell lesen können, können DRAM-Module bis zu 20 GB/s erreichen. Das gibt uns die Differenz von x10 oder mindestens einer Größenordnung.
Sowohl Redis als auch Varnish sind eines der beliebtesten Upgrades für Magento-Shops. Es ist eine empfohlene Caching-Option für Magento 2. Beide Lösungen funktionieren auch hervorragend mit Magento 1.
Varnish ist ein schwierig zu konfigurierendes Tool, aber wenn es richtig gemacht wird, bietet es TTFB-Werte in 100-200 ms. Bei Ganzseiten-Cache-Konfigurationen liegt TTFB im Bereich von 250 ms.
Ein weiterer entscheidender Vorteil von Varnish – es funktioniert auf mehr Webseiten. Während FPC für Seiten mit vielen dynamischen Inhalten nicht funktioniert, bietet Varnish selbst für diese anspruchsvollen Anwendungsfälle eine bessere Leistung.
5. Befreien Sie sich von nutzlosen Erweiterungen
Um ehrlich zu sein, ist das Deaktivieren nicht verwendeter Erweiterungen der Tipp Nr. 1 für jeden Magento 2-Shop, wird aber oft übersehen. Jede Erweiterung, die auf Ihrer Website ausgeführt wird, verbraucht einige Ihrer Ressourcen. Wenn sie schlecht konfiguriert sind, können sie auch Ihr TTFB verlangsamen.
Denken Sie daran: Der Server muss diesen Code ausführen, bevor er Feedback an den Benutzer sendet.
Durch das Bereinigen Ihrer Erweiterungsliste wird Magento ebenfalls beschleunigt. Auch wenn Sie keine davon deaktivieren können, halten Sie sowohl Ihren Magento-Shop als auch Ihre Erweiterungen von Drittanbietern auf dem neuesten Stand, um von Fehlerkorrekturen und Optimierungen zu profitieren, die die Leistung Ihrer Website sicherlich verbessern werden.
Bonus-Tipp: Optimieren Sie die Einstellungen für Store und Kundenprotokollierung
Stellen Sie sicher, dass Sie die Magento-Kundenprotokollierung deaktivieren. Dies wird Ihnen helfen, den Zeitaufwand für Datenbankabfragen zu reduzieren. Es ist keine große Auswirkung, da die Kundenprotokollierung eine relativ kleine Aktivität ist. Die Leistungssteigerung hängt von der Anzahl der Kunden ab, die derzeit Ihr Geschäft besuchen.
Wir empfehlen Ihnen nicht, die Speicherprotokollierung zu deaktivieren. Es ist ein wertvolles Tool, das bei der Magento-Fehlerbehebung hilft. Aber anstatt Speicherprotokolle Serverzeit in Anspruch nehmen zu lassen, können Sie sie zu einem Drittanbieterdienst wie Papertrail verschieben.
Ein ständiger Kampf um Leistung
Kein Magento-Shop ist wie der andere. Jeder von ihnen wird mit unterschiedlichen Herausforderungen konfrontiert sein, wenn es darum geht, seine Storefronts auf Geschwindigkeit zu optimieren. Dies kann insbesondere für ältere (und größere) Magento-Websites gelten, die viele komplexe Erweiterungen von Drittanbietern, große Datenbanken und mehrere Shops haben.
Und obwohl wir diesen Kampf um Leistung niemals „gewinnen“ können, ist es unser gemeinsames Ziel, Magento-Shops in Bezug auf Geschwindigkeit, Benutzererfahrung und Sicherheit unter allen E-Commerce-Websites zum Klassenbesten zu machen.
Vasili Nikolaev ist auf einer permanenten Schatzsuche, um die effektivsten Tipps zu finden, die das Leben von Ladenbesitzern ein bisschen einfacher machen. Für ihn gibt es nichts Befriedigenderes, als eine großartige Lösung für ein herausforderndes Problem zu finden.