Obrazy wydajności Magento i statyczne na CDN

11

Badamy dalsze ulepszenia prędkości Magento. Teraz widzimy, że przy następującym ustawieniu strona leci. Tylko obrazy pojawią się później. Główne pliki są dostarczane w ciągu kilku milisekund, ale czas ładowania nadal wynosi 2 sekundy z powodu obrazów.

  • buforowanie magów
  • scal css / js
  • minify apc + memcache
  • poprawki htaccess
  • sesja / pamięć podręczna na tmpfs

Moje pytanie: jakie są kroki, aby skonfigurować CDN (na własnym serwerze)? (i czy to naprawdę pomaga)

Rozumiem, że to coś takiego (ale to wcale nie działa):

  1. utwórz subdomenę cdn
  2. zmienić katalog główny dokumentu (i / lub dlaczego ustawić nazwę pliku?)
  3. zmień konfigurację
snh_nl
źródło

Odpowiedzi:

11

Sieć CDN lub ogólna sieć dostarczania treści działa przy użyciu usługi, która zapewnia serwerom na całym świecie szybkie dostarczanie plików multimedialnych do użytkownika końcowego, co pozwala ograniczyć opóźnienia sieciowe. Oznacza to, że CDN przynosi korzyści Twojemu sklepowi internetowemu, gdy odwiedzają go klienci z całego świata.

Więc to, co proponujesz zrobić, nie jest ściśle CDN. Ale poza tym jest kilka rzeczy, które możesz zrobić.

  • Skonfiguruj subdomenę, która wysyła jak najmniej dodatkowych nagłówków (jak pliki cookie) wraz z obrazami
  • Skonfiguruj NginX na serwerze do obsługi plików statycznych. Ponieważ NginX jest znacznie szybszy niż Apache, zyska to trochę prędkości
  • Skorzystaj z usługi takiej jak http://www.jpegmini.com/, aby dodatkowo skompresować pliki JPEG
  • Do udostępniania obrazów użyj innego serwera plików, serwer WWW ogólnego przeznaczenia jest skonfigurowany do obsługi, w tym przypadku stron PHP. Serwer plików będzie miał inną konfigurację, lepiej dostosowaną do szybkiego wyświetlania obrazów.

Aby wyświetlać obrazy z subdomeny, musisz wykonać następujące czynności: dodaj subdomenę do swojego DNS (cdn.shirtsofholland.com), dodaj alias serwera do konfiguracji Apache dla istniejącego pakietu, na którym działa sklep.

ServerAlias cdn.shirtsofholland.com

Przekazywanie poddomeny do tego pakietu, a następnie w Backend Magento przejdź do System > Configuration > General > Web > (un)secure urlzmiany Base media URLnahttp://cdn.shirtsofholland.com/

Proces tworzenia własnego serwera nazywa się dzieleniem domen . [Aktualizacja 11jan2017] Od dzielenia domen HTTP / 2 prawie już nie ma żadnych korzyści

Jeśli chcesz prawdziwego CDN, spójrz na usługę taką jak OnePica, rozszerzenie Magento można znaleźć tutaj lub Amazone AWS, Korzystanie z samouczka Ashley Schroder

Sander Mangel
źródło
9

Nie potrzebujesz dodatkowego kodu ani wtyczek, aby korzystać z sieci CDN obsługującej wyszukiwanie źródła. Należą do nich Akamai, Cloudflare i Amazon's Cloudfront. Wszystko, co musisz zrobić, to wskazać System> Konfiguracja> Adresy URL stron internetowych JS, skórki i multimediów w odpowiedniej domenie:

wprowadź opis zdjęcia tutaj

Możesz także skonfigurować rekordy CNAME w DNS, aby DNS odpowiadał w poddomenie na domenę główną.

philwinkle
źródło
3

CDN jest tylko 1 elementem składowym wydajności twojej witryny E2E i służy bardzo konkretnemu celowi, jakim jest zapewnienie quasi-nieograniczonej możliwości skalowania i poprawienie wydajności / prędkości, z jaką obiekty statyczne są podawane odwiedzającym twoją stronę poprzez dystrybucję tych obiektów statycznych do krawędzi serwery jak najbardziej zbliżone do odwiedzających na całym świecie za pomocą serwerów dostarczania zoptymalizowanych pod kątem kompilacji.

Jeśli twoja publiczność jest rozproszona po całym świecie, sensowne jest użycie komercyjnego rozwiązania CDN zamiast kupowania serwerów i przepustowości na całym świecie. Tylko garstka firm ma pieniądze i specjalizuje się w budowie takiej sieci. Google to zrobił, Netflix to robi, ale jeśli nie jesteś taki duży, nie ma ekonomicznego sensu budowania własnego CDN i lepiej jest korzystać z usług jednego z komercyjnych dostawców CDN. Wiodącymi dostawcami 3 poziomu 1 są Akamai, Limelight i EdgeCast.

Istnieje setki innych dostawców CDN. To trochę jak biznes samochodowy, wiele marek, wszystkie mają 4 koła i silnik, ale istnieją ogromne różnice między poszczególnymi markami / modelami.

Nie jest jasne, jaka jest twoja publiczność ani jaki ruch generujesz. Bez tych informacji trudno jest udzielić dobrej odpowiedzi. jednak utworzenie komercyjnego CDN jest tak proste, jak powiadomienie CDN, która domena obsługuje pliki statyczne.

zakładając, że static.shirtofholland.com służy do obsługi obiektów statycznych (obrazy, js, css ...), wystarczy utworzyć tę nazwę, poinformować CDN, gdzie jest serwer Origin (aby mógł pobrać zawartość statyczną i buforuj go na brzegu) i na koniec zaktualizuj strefę DNS, aby wskazać tę statyczną nazwę na dostawcę CDN. Alternatywnie możesz użyć adresu URL CDN bezpośrednio (podanego przez CDN). Nie jest zbyt elegancki, ale działa.

Inne ważne aspekty, które należy wziąć pod uwagę przy analizie poprawy wydajności, to:

  • DNS - czy Twój obecny dostawca DNS jest wystarczająco szybki i niezawodny? Korzystanie z zarządzanego dostawcy DNS przejdzie długą drogę i nie będzie kosztować dużo pieniędzy.

  • CDN do dostarczania obiektów statycznych

  • ADN lub DSA do przyspieszania zawartości dynamicznej (bez pamięci podręcznej). Znacząco poprawi to wydajność dowolnej witryny eCommerce, ale jest stosunkowo droga (w przeciwieństwie do sieci CDN, która jest bardzo przystępna).

  • Optymalizacja FEO lub Front End, którą można wykonać przez optymalizację kodu (patrz bestsellerowa książka O'Reilly Souders, strony internetowe o wysokiej wydajności) lub za pomocą komercyjnego rozwiązania, które będzie stosować te zasady FEO (i więcej) w locie do twojego teren. Zwykle odbywa się to w połączeniu z przyspieszeniem dynamicznym.

Laurent
źródło