Erste Lack Arbeiten auf Magento
Erste bitte verzeihen Sie mir für das völlige fehlen von Verständnis der Lack. Dies ist meine erste etwas zu tun mit Lack.
Ich bin nach dem Beispiel an: http://www.kalenyuk.com.ua/magento-performance-optimization-with-varnish-cache-47.html
Jedoch wenn ich installieren Sie und führen Sie dieses aus, Lack scheint nicht zum cache. Ich bekomme die X-Varnish-header mit einer einzigen Zahl und einem Via-header, die hat einen Wert von 1,1 Lack
Mir wurde erzählt (von meinem ISP) ist es wegen der folgenden cookie -, Magento-sets:
Set-Cookie: frontend=6t2d2q73rv9s1kddu8ehh8hvl6; expires=Thu, 17-Feb-2011 14:29:19 GMT; path=/; domain=XX.X.XX.XX; httponly
Sagten Sie, dass ich entweder zu ändern, Magento, um diese zu bewältigen oder zu konfigurieren Lack zu behandeln. Da der Wechsel zu Magento ist außer Frage, ich Frage mich, ob jemand kann mir eine Ahnung, wie ich das konfigurieren Lack um dieses cookie?
InformationsquelleAutor der Frage Josh Pennington | 2011-02-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
http://moprea.ro/2011/may/6/magento-performance-optimization-varnish-cache-3/ beschreibt die Magento-Erweiterung, die es ermöglicht, full-page-cache mit Lack. Diese Erweiterung stützt sich auf Lack config auf github veröffentlicht.
Sind diese Funktionen bereits implementiert:
Screenshots: https://github.com/madalinoprea/magneto-varnish/wiki
InformationsquelleAutor der Antwort Mario
Wie Magento cache in Lack (Theorie) - Es gibt 2 Komponenten, die zu diesem
1) Statische assets (zB. Bilder, CSS, JS) - Dies ist ein einfaches gemeinsames Muster, das umfasst das erkennen von Anfragen, die zu dieser Kategorie gehören, und setzen eines cache-Zeit (Oder die Berufung auf die cache-Zeit gesendet werden von der origin-server)
Beispiel im gist form
2) HTML - Dokumente- Das ist die viel komplexere Teil, eine gute Magento-Lösung.
Seine kritische Zwischenspeichern von HTML-Dokumenten in Lack verbessern zu können Magento-performance. HTML-Dokument generation ist der teuerste (zeitraubende) Sache, dass ein Magento-server tun.
Die Herausforderung beim Zwischenspeichern von HTML-Dokumenten kommt von personalisierten Inhalten.
Personalisierte Inhalte und HTML-Dokumente
Magento, und alle anderen E-Commerce-Websites, verwalten Sie den Status eines bestimmten Benutzers, obwohl eine Sitzung. Eine Sitzung ist ein Datensatz, insbesondere der status des Nutzers auf Ihrer Website.
Dies umfasst Dinge wie:
"Hallo Bob" - an der Spitze der Seite
"4 Dinge, die in Ihrem Einkaufswagen" - der status des Warenkorbs auf jeder Seite
Diese sind Elemente, die nicht geteilt werden kann zwischen Nutzern und hätte zu einem großen problem, sollte dies geschehen (wir nennen diese "session-leakage").
Wie wir-cache von HTML-Seiten, wenn die HTML-Seiten enthalten persönliche Informationen darüber, wer die person ist und was Sie in Ihrem Warenkorb?
Gibt es 2 Methoden, dies zu erreichen:
Laden personalisierte Elemente auf der Seite über die zusätzlichen Anforderungen, nachdem die Seite geladen wurde
Eine gängige Implementierung der Methode hier ist die Verwendung von AJAX-Anfrage Elemente der Seite, die personalisiert werden
Die Nutzung einer Technologie zu Kennzeichnen Komponenten des HTML-Dokuments als zwischenspeicherbar und anderen uncachable (oder un-shareable unter Benutzer).
Lack unterstützt eine Technologie namens ESI (Edge Side Includes) ermöglicht es, dass verschiedene Teile eines HTML-Dokuments zwischengespeichert werden anders.
Ihren Lack Umsetzung der Strategie muss Faktor im Benutzer-Personalisierung.
Umsetzung Optionen für Lack
Magento 1.X - Die am weitesten verbreitete Methode für die Zwischenspeicherung von HTML-Dokumenten in Magento version 1 ist die open-source-Produkt namens Magento Terpentin (von Nexus).
Dies ist ein plugin, das installiert wird (über Magento Connect) und wird automatisch add ESI-tags in Ihren HTML-Dokumenten, so dass der Lack kann der cache diese Ressourcen. Magento Turpentine installieren /Anleitung
Magento 2.X - Die neueste version von Magento (derzeit in beta) unterstützt Lack als Ihre empfohlene Lösung für HTML-caching in der Produktion. Dies ist eine gute Nachricht, Lack ist die empfohlene option aus Magento und arbeiten, aus der box zu verbessern Sie Ihre Website-Geschwindigkeit.
Wie zu machen Lack und Magento Arbeit gut
Bereitstellung ist eine Sache, Die nächsten Schritte, wenn Sie einen Lack Magento-Lösung implementiert und arbeiten ist zu verstehen, wie gut seine Durchführung. Erste Metriken, die auf cache-hit-raten und detaillierte Protokolle auf Anfrage auf Anfrage basis kann eine Herausforderung sein, wie es umfasst die Bereitstellung einer Reihe von zusätzlicher Infrastruktur (oder stecken, dabei die manuelle log-Sammlung über eine one-off-basis).
Wir haben vor kurzem gebaut, diese Infrastruktur zu führen Lack als service in der cloud (mit vollen logs/Metriken) - http://www.section.io - Stecker neben dieser kann das wichtigste element, um tatsächliche Erfolge mit Ihnen Lack und Magento-Projekt, wie Sie brauchen, um ständig zu optimieren Ihrer Umsetzung zu verwalten Dinge wie unterschiedliche Abfragezeichenfolgen in urls (Hallo google analytics "gclid"!) die Verringerung der cache-hit-raten dramatisch
InformationsquelleAutor der Antwort mattnthat
Wenn Sie mit Lack 3.0, müssen Sie möglicherweise ändern Sie Ihre .vcl config. Hier ist, was ich mit magento und varnish 3:
InformationsquelleAutor der Antwort Connor
Ich gehe davon aus, dass ein session-cookie, Magento sendet an alle Benutzer - ich hatte ein ähnliches problem mit Lack + Redmine.
Den Grund Lack ist nicht caching Ihrer Seiten ist, da es standardmäßig nur caches, was es ist, sicher ist sicher - und Benutzer mit cookies in der Regel finden Sie verschiedene Dinge für eine bestimmte Seite laden, zum Beispiel, wenn Sie eingeloggt sind, dann vielleicht Ihr Benutzername am oberen Rand jeder Seite, so dass die Seite nicht zwischengespeichert werden†.
Viele Rahmenbedingungen jedoch session-cookies, um Benutzer, die nicht angemeldet sind. Ich fürchte, ich weiß nicht Magento an alle, so ich kann nicht Vorhersagen, die Folgen bei Missachtung dieser cookie - auf Redmine, ignorieren Sie die cookie bedeutete, dass Benutzer konnten sich nicht einloggen, und alle Formen aufgehört zu arbeiten (weil Sie keine mehr hatte, den CSRF-token).
Wäre es wahrscheinlich besser, gegen das von der Magento-Seite, wenn du kannst - Lack hört auf den upstream-headers zu bestimmen, was kann gecached werden etc.
Wenn Sie nicht können, dann werden Sie vielleicht mildern können es von Lack-Konfiguration. Sie möchten sicherstellen, dass die Set-Cookie-header nicht gesendet wird, von jedem cache-hit, und Sie wollen auch, um die drop client Cookies auf Anfragen für Seiten, wo diese Cookies hat keine Auswirkungen. Das heißt, Sie müssen Ausnahmen für Dinge wie den login-Bildschirm oder einer Seite, die erfordert, dass Sie eingeloggt sein (es sei denn, Magento setzt eine separate cookie-sobald Sie angemeldet sind, das würde vieles erleichtern).
Den Lack Dokumentation (die ich sehr empfehlen kann als Ressource) mehrere Seiten hat, auf die Erhöhung Trefferquote, darunter eine speziell für ablegen von cookies auf einigen Seiten und nicht andere.
† Es gibt eine Ausnahme, die ist, wenn Sie mit edge side includes.
InformationsquelleAutor der Antwort ZoFreX
Haben wir ein Modul entwickelt namens PageCache powered by Varnish, das es ermöglicht, Magento und Varnish zu spielen reibungslos zusammen, indem Sie eine gut getestet, Lack-Konfigurationsdatei (VCL) und einen fest integrierten Magento-Modul mit vielen Optionen zu Steuern Lack Rechtes aus dem Magento-backend. Check it out auf Magento Connect:
http://www.magentocommerce.com/magento-connect/Phoenix/extension/6322/varnish_cache
InformationsquelleAutor der Antwort Phoenix Medien
Ich denke, dies erklärt, wie wir könnte Weg mit mit Lack mit magento
Wenn Sie aoe_static Modul und meine benutzerdefinierte vcl für Lack 3 es löscht die cookies, die auf der Cache-Seite Antwort. Es sollte dazu in der vcl zu Holen. Die cookies können dann von einem kleineren ajax-Antwort, die Lasten, die dynamischen Inhalt. Dies hält Ihre Sitzungen, Warenkorb etc. Dieses ajax-Antwort sein kann "pipe" - ed in der vcl-recovery.
Ich habe keine Probleme dies zu tun, aber habe noch nicht versucht es auf eine Produktionsstätte.
Dynamische Blöcke muss ersetzt werden durch Platzhalter via layout-xml. Wenn Sie mochte diese Ersetzungen werden konnte Lack edge-side-includes oder benutzerdefinierte ajax-Implementierung.
Beim laden von dynamischen Inhalten aus aoe_static (oder was auch immer Art ajax-Methoden, die Sie bevorzugen) es ist gut, sich daran zu erinnern, dass Sie immer noch mit magentos layout-system, z.B. einen Griff für Ihre ajax-Aufruf mit verschachtelter Blöcke gerendert werden.
Wenn Sie die aoe_static Modul werden Sie feststellen, dass die loadLayout heißt aber denken Sie daran, was behandelt werden übergeben, loadLayout. es ist nicht das selbe wie ein layout-Anforderung für die Seite, die Ihre auf aber es tut sich ein Standard-Griff für Sie.
Ein weiteres problem ist der Lagerbestand. Wenn ein Produkt nicht mehr genug auf Lager zu sein, im Warenkorb wird es immer noch angezeigt, auf Produkt-Listen und Optionen für konfigurierbare und gruppierte Produkte.
Möglicherweise könnten Sie die Beobachter - cataloginventory_stock_item_save_after - prüfen der Lagerbestände (ich habe nicht geprüft). Dann cache konnte gelöscht werden basierend auf der url der Produkte. Es ist ganz einfach, die Kategorie-urls, die das Produkt erscheinen würde und Spülen Sie diese in der gleichen Zeit.
Phoenix Modul verfügt über verschiedene Methoden diese Art der Säuberungen, wenn Sie wollen, um zu sehen, eine einfache Umsetzung nur durch Folgen von Beobachtern.
Sondern wie es sich mit dem layered nav-urls ist schwierig. Sie müssten, um speichern Sie die query-string-Parameter, mit dem die app gedient hatte, mit der Basis-Liste Kategorie die url als Schlüssel im Voraus, dann Lesen Sie und löschen Sie diese urls in die Beobachter. Das speichern von query-string-Parameter wäre leicht genug, mit der Antwort, bevor Sie senden,prüfen der request-Objekt mit einer regex und Protokollierung der Abfrage verwendeten Zeichenfolgen getrennt durch ein Komma.
Bin ich falsch in der Annahme, dass keiner der aktuellen Module befassen sich mit Lagerbestand layered nav?
Ich denke, ein gutes fertiges Modul für Lack benötigt wird, in das open-source-community, da alle anderen fehlen. persönlich Plane ich, nur mit bezahlten full-page-cache ist mit load-balanced Server und vielleicht Lack zu fangen, Bild-und css-Anfragen. Es sei denn, jemand will, um Kräfte zu bündeln, um eine ordnungsgemäße Lack Umsetzung oder ich würde gerne mit Themen, die für Ihre Websites, wenn die Arbeit, die Hinzugefügt werden könnten, um eine open-source-Implementierung, die sich besser mit diesen Anliegen.
Kasse diese Frage für weitere Einzelheiten über Probleme, die Sie Gesicht-diese Frage - magento-open source full-page-cache
InformationsquelleAutor der Antwort user1743741
http://moprea.ro/2011/feb/16/magento-performance-optimization-varnish-cache-2/
Nicht sicher, ob es hilft, aber ich zufällig auf diese.
Habe ich tatsächlich versucht heraus zu bekommen Lack zu arbeiten, bevor und ich habe versagt. Ich würde vorschlagen, Sie bekommen APC + Memcached + tmpfs sessions/cache, bevor Sie versuchen aus Lack.
InformationsquelleAutor der Antwort NELSON