Magento-Performance-Images und Static auf CDN

11

Wir untersuchen weitere Verbesserungen der Magento-Geschwindigkeit. Was wir jetzt sehen, ist, dass mit dem folgenden Setup die Seite fliegt. Nur die Bilder kommen später. Die Hauptdateien werden in wenigen Millisekunden geliefert, aber die Ladezeit beträgt aufgrund der Bilder immer noch 2 Sekunden.

  • Magier-Caching
  • css / js zusammenführen
  • minimiere apc + memcache
  • htaccess optimiert
  • Sitzung / Cache auf tmpfs

Meine Frage: Was sind die Schritte zum Einrichten eines CDN (auf meinem eigenen Server)? (und hilft es tatsächlich)

Ich verstehe, dass es so etwas ist (aber das funktioniert überhaupt nicht):

  1. Erstellen Sie eine CDN-Subdomain
  2. Dokumentstamm ändern (und / oder warum einen cnamen setzen?)
  3. Konfiguration ändern
snh_nl
quelle

Antworten:

11

Ein CDN oder Content Delivery Network verwendet im Allgemeinen einen Dienst, der Server auf der ganzen Welt bereitstellt, um Mediendateien schnell an den Endbenutzer zu liefern und so die Netzwerklatenz zu verringern. Dies bedeutet, dass ein CDN Ihrem Webshop zugute kommt, wenn Kunden aus aller Welt Ihren Shop besuchen.

Was Sie also vorschlagen, ist streng genommen kein CDN. Abgesehen davon gibt es ein paar Dinge, die Sie tun können.

  • Richten Sie eine Subdomain ein, die so wenig zusätzliche Header wie möglich (wie Cookies) zusammen mit den Bildern sendet
  • Konfigurieren Sie NginX auf Ihrem Server für die Wartung statischer Dateien. Da NginX viel schneller als Apache ist, werden Sie etwas schneller
  • Verwenden Sie einen Dienst wie http://www.jpegmini.com/ , um Ihre JPEGs weiter zu komprimieren
  • Verwenden Sie einen anderen Dateiserver zum Bereitstellen von Bildern. Ein universeller Webserver ist so konfiguriert, dass er in diesem Fall PHP-Seiten bereitstellt. Ein Dateiserver hat eine andere Konfiguration, die besser für die schnelle Bereitstellung von Bildern geeignet ist.

Um Bilder von einer Subdomain bereitzustellen, müssen Sie folgende Schritte ausführen: Fügen Sie die Subdomain zu Ihrem DNS hinzu (cdn.shirtsofholland.com), und fügen Sie Ihrer Apache-Konfiguration einen Serveralias für das vorhandene Paket hinzu, auf dem der Shop ausgeführt wird.

ServerAlias cdn.shirtsofholland.com

Leiten Sie die Subdomain an dieses Paket weiter und System > Configuration > General > Web > (un)secure urlwechseln Sie dann im Magento-Backend Base media URLzuhttp://cdn.shirtsofholland.com/

Der Prozess für Ihren eigenen Server wird als Domain Sharding bezeichnet . [Update 11jan2017] Seit HTTP / 2 Domain Sharding hat fast kein Vorteil mehr

Wenn Sie ein echtes CDN möchten, schauen Sie sich einen Dienst wie OnePica an. Die Magento-Erweiterung finden Sie hier oder Amazone AWS unter Verwendung des Ashley Schroder-Tutorials

Sander Mangel
quelle
9

Sie benötigen keinen zusätzlichen Code oder Plugins, um ein CDN zu verwenden, das die Ursprungssuche unterstützt. Dazu gehören Akamai, Cloudflare und Amazon Cloudfront. Sie müssen lediglich die JS-, Skin- und Medien-URLs von System> Config> Web auf die richtige Domain verweisen:

Geben Sie hier die Bildbeschreibung ein

Sie können auch CNAME-Einträge in DNS einrichten, damit der DNS in einer Subdomain auf Ihre Stammdomäne antwortet.

philwinkle
quelle
3

CDN ist nur ein Baustein Ihrer E2E-Website-Leistung und dient einem ganz bestimmten Zweck, nämlich der Bereitstellung einer nahezu unbegrenzten Skalierungsfähigkeit und der Verbesserung der Leistung / Geschwindigkeit, mit der statische Objekte Ihren Website-Besuchern bereitgestellt werden, indem diese statischen Objekte an Edge verteilt werden Server, die Ihren Besuchern auf der ganzen Welt so nahe wie möglich kommen, indem sie speziell für Builds optimierte Bereitstellungsserver verwenden.

Wenn Ihr Publikum auf der ganzen Welt verteilt ist, ist es sehr sinnvoll, eine kommerzielle CDN-Lösung zu verwenden, anstatt Server und Bandbreite auf der ganzen Welt zu kaufen. Nur eine Handvoll Unternehmen haben das Geld und die Fachkenntnisse, um ein solches Netzwerk aufzubauen. Google hat es geschafft, Netflix macht es, aber wenn Sie nicht so groß sind, macht es keinen wirtschaftlichen Sinn, ein eigenes CDN zu erstellen, und Sie sind besser dran, einen der kommerziellen CDN-Anbieter zu verwenden. Die führenden 3 Tier 1-Anbieter sind Akamai, Limelight und EdgeCast.

Es gibt 100 andere CDN-Anbieter. Es ist ein bisschen wie im Autogeschäft, viele Marken, alle haben 4 Räder und einen Motor, aber es gibt massive Unterschiede zwischen den einzelnen Marken / Modellen.

Es ist unklar, was Ihre Zielgruppe ist oder wie viel Verkehr Sie liefern. Ohne diese Informationen ist es schwierig, eine gute Antwort zu geben. Das Einrichten eines kommerziellen CDN ist jedoch so einfach wie das Informieren des CDN darüber, welche Domain statische Dateien bereitstellt.

Angenommen, static.shirtofholland.com wird verwendet, um statische Objekte (Bilder, js, css ...) bereitzustellen. Dann müssen Sie nur diesen c-Namen erstellen und dem CDN mitteilen, wo sich der Origin-Server befindet (damit er den statischen Inhalt abrufen kann und Cache es am Rand) und aktualisiere schließlich deine DNS-Zone, um diesen statischen C-Namen auf deinen CDN-Provider zu verweisen. Alternativ können Sie die CDN-URL direkt verwenden (von Ihrem CDN bereitgestellt). Es ist nicht sehr elegant, aber es funktioniert.

Ein weiterer wichtiger Aspekt, der bei der Untersuchung der Leistungsverbesserung berücksichtigt werden muss, sind folgende:

  • DNS - ist Ihr aktueller DNS-Anbieter schnell und zuverlässig genug? Die Verwendung eines verwalteten DNS-Anbieters ist ein langer Weg und kostet nicht viel Geld.

  • CDN für die Zustellung statischer Objekte

  • ADN oder DSA zur Beschleunigung von dynamischen Inhalten (nicht zwischenspeicherbar). Dies wird die Leistung jeder E-Commerce-Website dramatisch verbessern, ist jedoch relativ teuer (im Gegensatz zu CDN, das sehr erschwinglich ist).

  • FEO- oder Front-End-Optimierung, die entweder durch Codeoptimierung (siehe Souders Bestseller O'Reilly-Buch, Hochleistungswebsites) oder mithilfe einer kommerziellen Lösung durchgeführt werden kann, die diese FEO-Regeln (und mehr) im laufenden Betrieb auf Ihre Daten anwendet Seite? ˅. Dies erfolgt normalerweise zusätzlich zur dynamischen Beschleunigung.

Laurent
quelle