Ich versuche die Magento-Leistung zu verbessern (früher oder später hat "MageDev" diesen Punkt erreicht :)
Ich recherchierte und fand viele gute, aber nicht homogene Führer.
Was ich habe ist das:
- MemCache oder Redis sind generische Cache-Systeme, die Daten zwischenspeichern und direkt in Magento ( local.xml ) integriert werden können.
- APC ist ein Cache für den PHP-Code selbst, der nur auf Serverebene eingebunden werden kann.
- Lack ist ein Reverse-Proxy, er zwischenspeichert die Antwort kann nur auf Serverebene integriert werden. (Es gibt eine Erweiterung für Magento, Terpentin, aber ich bin mir nicht sicher, was genau passiert)
Nach all dem guten Lesen bin ich immer noch ein bisschen verwirrt darüber, welche der oben genannten Cache-Systeme in Kombinationen verwendet werden können, zum Beispiel:
- MemCache + APC?
- Redis + APC?
- kann ich Lack zu einer der oben genannten Konfigurationen hinzufügen?
Um ganz klar zu sein, geht es nicht darum, wie Magento oder der Server konfiguriert werden sollen, sondern welche Möglichkeiten es gibt und wie Cache-Systeme gemischt werden sollen. (Wenn jemand eine gute Empfehlung abgeben kann, wäre ich dankbar.)
Antworten:
Sie haben das meiste schon verstanden.
Das Cache-Backend, der Sitzungsspeicher, der Opcode-Cache, der Ganzseiten-Cache und der Reverse-Proxy-Cache sind völlig unterschiedlich.
Sie können verschiedene Technologien für alle verwenden und Sie können sie ALLE gleichzeitig verwenden (einschließlich Lack und ein FPC)
Cache Backends
Sie können nur ein Cache-Backend verwenden.
Entgegen der weit verbreiteten Meinung wird die Leistung durch die Verwendung eines speicherbasierten Caches nicht verbessert. Es werden jedoch einige schwerwiegende Fehler im dateibasierten Standard-Caching von Magento behoben.
Zum Zeitpunkt des Schreibens dieser Nachricht ist Redis meine Empfehlung.
Sitzungsspeicher
Sie können nur einen Sitzungsspeicher verwenden.
Entgegen der landläufigen Meinung verbessert die Verwendung eines speicherbasierten Sitzungsspeichers die Leistung nicht.
Zum Zeitpunkt des Schreibens dieser Nachricht ist Redis meine Empfehlung.
OpCode-Cache
Sie können tatsächlich mehrere Opcode-Caches installieren, dies wird jedoch nicht empfohlen, und ich würde auch keine Gewinne erwarten.
Meine Empfehlungen stehen in den Klammern oben.
Es muss kein Modul installiert werden, um dies zu nutzen.
Reverse Proxy Cache
Sie können mehrere Reverse-Proxys verwenden. Dies ist zwar komplex und anfällig für Cacheverlängerungen, kann aber auch Vorteile haben (z. B. um ein Stempeln während eines Cache-Flushs zu verhindern).
Verwenden Sie eine, wenn dies erforderlich ist (d. H. Nicht, um eine langsame Site zu beschleunigen, sondern um die Ressourcennutzung auf einer schnellen Site zu verringern).
Um einen Reverse-Proxy nutzen zu können, müssen sowohl die Serverseite als auch ein Modul für Magento aktiviert werden.
Der Grund für das Modul besteht darin, die Steuerung der Cache-Logik zu unterstützen (dh dem Cache mitzuteilen, was gecacht werden soll und was nicht) und den Cache-Inhalt zu verwalten (dh das Löschen des Caches auszulösen).
Ich kann es nur empfehlen, wenn Sie genau wissen, was Sie tun. Falsch eingerichtete Reverse-Proxys können die Header-Informationen beschädigen, zu Sitzungsverlust, Sitzungsfreigabe und veraltetem Inhalt führen, zusätzliche Grenzwerte für Ladezeit / Puffer festlegen, zusätzliche Ressourcen verbrauchen usw.
Ganzseitiger Cache
Verwenden Sie eine, wenn dies erforderlich ist (d. H. Nicht, um eine langsame Site zu beschleunigen, sondern um die Ressourcennutzung auf einer schnellen Site zu verringern).
Entgegen der landläufigen Meinung können (und sollten) Sie eine FPC in Verbindung mit einem Reverse-Proxy-Cache verwenden. Die beiden lösen unterschiedliche Probleme und haben unterschiedliche Fähigkeiten.
FPCs können mehr Intelligenz nutzen, da sie direkten Zugriff auf die Benutzersitzung und den Kern von Magento haben, wohingegen ein Reverse-Proxy nicht anwendungsbezogen ist (es ist ziemlich dumm, wie es funktioniert) - daher ergänzen sich die beiden, konkurrieren nicht miteinander .
Dh Denken Sie nicht an Lack oder FPC, denken Sie an Lack und FPC.
quelle
mod_pagespeed
? übrigens tolle und klare Antwort dankeIch würde für Redis + APC mit Lack an der Spitze gehen.
"Warum redis" fragst du? Lesen Sie diese hervorragende SO-Antwort . Redis ersetzt im Wesentlichen das dateibasierte Standard-Caching-System von Magento. Da Redis schneller ist, können Sie die Geschwindigkeit verbessern.
Lack hat eigentlich nicht so viel mit dem Innenleben zu tun. Es wird an die Spitze gestellt und speichert statischen Inhalt, sodass Magento nie als Anforderung erreicht wird. Mit Ausnahme der gelochten Teile.
Während sich Varnish nur auf das Frontend-Caching konzentriert, beschleunigt Redis auch die anderen Cache-Typen wie den EAV- und den Konfigurations-Cache.
Optional können Sie einige Full Page Cache-Erweiterungen für Magento anstelle von Varnish auschecken. Obwohl es nicht so schnell ist, ist es im Allgemeinen einfacher zu implementieren und benötigt keine zusätzliche Software (wie Varnish).
quelle