Optymalizacja wydajności Magento 2 – cache, Varnish, Elasticsearch
Praktyczny przewodnik przyspieszania sklepu Magento 2 i MageOS: Full Page Cache, Redis, Varnish, Elasticsearch, optymalizacja obrazów i bazy MySQL.
Spis treści
- Dlaczego wydajność Magento 2 jest krytyczna?
- Full Page Cache i Varnish
- Redis – cache sesji i obiektów
- Elasticsearch i wyszukiwarka
- Optymalizacja obrazów i zasobów statycznych
- Optymalizacja bazy danych MySQL
- Często zadawane pytania
Dlaczego wydajność Magento 2 jest krytyczna?
Optymalizacja wydajności Magento 2 ma bezpośredni wpływ na sprzedaż i SEO. Badania Google pokazują, że każda sekunda opóźnienia zwiększa współczynnik odrzuceń o ok. 20% i obniża konwersję. W e-commerce oznacza to realne straty przychodów. Dla SEO Google używa Core Web Vitals (LCP, INP, CLS) jako sygnału rankingowego — wolny sklep to niższe pozycje.
Magento 2 jest zasobożerną platformą zaprojektowaną dla dużych sklepów. Plany Magento 2 w smartxhosting.pl (4 CPU, 16 GB RAM, 100 GB SSD) są skonfigurowane z myślą o wymaganiach Magento. Jednak nawet najlepsza infrastruktura nie zastąpi właściwej konfiguracji warstwy cache i optymalizacji aplikacji.
Full Page Cache i Varnish
Full Page Cache (FPC) to najważniejszy element wydajności Magento 2. Przechowuje wygenerowane strony HTML i serwuje je bez uruchamiania PHP i zapytań do bazy. Czas odpowiedzi spada z 2–5 sekund do 50–200 ms.
Przejdź do Sklepy → Konfiguracja → Zaawansowane → System → Full Page Cache. Ustaw Caching Application na Built-in Cache (domyślny) lub Varnish Cache (zalecane dla środowisk produkcyjnych).
W panelu Magento wygeneruj konfigurację Varnish: Sklepy → Konfiguracja → Zaawansowane → System → Full Page Cache → Varnish Configuration → Export VCL for Varnish. Pobierz plik VCL i prześlij go na serwer. W planach SMARTX zgłoś chęć konfiguracji Varnish do wsparcia technicznego.
Po włączeniu FPC sprawdź nagłówki HTTP. Wykonaj: curl -I https://twojsklep.pl/. W odpowiedzi powinien pojawić się nagłówek X-Magento-Cache-Control: max-age=86400 lub X-Varnish dla Varnish. Pierwsza odpowiedź to MISS (brak cache), kolejna to HIT (serwowanie z cache).
Redis – cache sesji i obiektów
Redis to in-memory store używany w Magento 2 jako backend dla cache obiektów (np. wyniki zapytań do bazy) i sesji użytkowników. Zastępuje domyślne przechowywanie w plikach systemowych, co przyspiesza operacje cache nawet 10-krotnie.
W środowiskach SMARTX Redis jest pre-instalowany w planach Docker i LXC. Konfigurację Redis w Magento 2 ustawia się w pliku app/etc/env.php:
- cache/frontend/default — cache obiektów Magento (DB, layout, config)
- session/save — sesje użytkowników (koszyk, logowanie)
- cache/frontend/page_cache — Full Page Cache przez Redis (alternatywa dla Varnish)
Elasticsearch i wyszukiwarka
Od Magento 2.4 Elasticsearch (lub OpenSearch) jest wymaganym komponentem — zastąpił wbudowaną wyszukiwarkę MySQL. Elasticsearch obsługuje wyszukiwanie pełnotekstowe z obsługą synomimów, atrybutów filtracyjnych i relevance scoring.
W planach SMARTX Elasticsearch jest pre-konfigurowany. Połączenie można zweryfikować w Sklepy → Konfiguracja → Katalog → Wyszukiwanie w katalogu → Search Engine. Upewnij się, że wybrano Elasticsearch 7 lub nowszy, i kliknij Test Connection — status powinien pokazać Successful.
Po dodaniu nowych produktów lub zmianie atrybutów uruchom reindeksację: php bin/magento indexer:reindex catalogsearch_fulltext. Dla pełnego reindeksu: php bin/magento indexer:reindex.
W Marketing → SEO & Search → Search Synonyms dodaj synonimy, np. „kurtka = płaszcz, wiatrówka". Synonimy poprawiają trafność wyników i doświadczenie użytkownika szukającego produktów pod różnymi nazwami.
Optymalizacja obrazów i zasobów statycznych
Obrazy są najczęstszym wąskim gardłem wydajności sklepów e-commerce. W Magento 2 zdjęcia produktów są automatycznie skalowane do różnych rozmiarów (thumbnail, small, medium, large), jednak bez kompresji mogą zajmować kilkadziesiąt MB na stronę listingową.
- Używaj formatu WebP dla zdjęć produktów (natywnie wspierany przez Magento 2.4.6+)
- Ustaw kompresję JPEG na 80–85% zamiast domyślnych 100%: Sklepy → Konfiguracja → Zaawansowane → Systém → Use Image Adapter
- Włącz CSS Merging i JavaScript Merging/Bundling: Sklepy → Konfiguracja → Zaawansowane → Programowanie
- Skonfiguruj CDN dla zasobów statycznych (dostępne w planach VPS SMARTX)
Optymalizacja bazy danych MySQL
Baza danych MySQL jest kolejnym krytycznym elementem wydajności Magento 2. Wraz ze wzrostem katalogu i historii zamówień tabele Magento mogą sięgać setek GB, a źle zoptymalizowane zapytania spowalniają cały sklep.
- Regularnie wykonuj OPTIMIZE TABLE na najważniejszych tabelach (catalog_product_entity, sales_order, quote)
- Wyczyść log_quote i report_event (logi gości i raportów) — mogą osiągać miliony rekordów
- Włącz InnoDB buffer pool na poziomie 70–80% dostępnej pamięci RAM w my.cnf
- Włącz slow query log (np. zapytania > 1 s) i analizuj zapytania za pomocą EXPLAIN
Często zadawane pytania
Dlaczego Magento 2 jest wolny bez optymalizacji?
Magento 2 to rozbudowana platforma enterprise, która domyślnie wykonuje setki zapytań do bazy danych i ładuje dziesiątki plików PHP na każde żądanie. Bez właściwej konfiguracji cache i odpowiednich zasobów serwerowych strony produktowe mogą ładować się 5–10 sekund. Właściwa konfiguracja Full Page Cache, Redis i Elasticsearch redukuje czas odpowiedzi do 200–500 ms.
Czy Magento 2 wymaga Elasticsearch?
Tak, od Magento 2.4 wbudowana wyszukiwarka MySQL jest przestarzała i wymagany jest Elasticsearch lub OpenSearch. Bez niego wyszukiwarka sklepu nie działa poprawnie. W planach Magento 2 i MageOS w smartxhosting.pl Elasticsearch jest pre-instalowany i skonfigurowany jako część środowiska, bez potrzeby dodatkowej konfiguracji ze strony właściciela sklepu.
Jak włączyć Full Page Cache w Magento 2?
Full Page Cache w Magento 2 włącza się w Sklepy → Konfiguracja → Zaawansowane → System → Full Page Cache. Jako Application można wybrać wbudowany Magento Cache lub Varnish Cache. Varnish jest rekomendowany dla sklepów produkcyjnych — skraca czas ładowania stron nawet 10-krotnie. W planach SMARTX Varnish jest dostępny do konfiguracji w środowiskach LXC i VPS.
Zobacz też
Potrzebujesz wydajnego hostingu dla Magento 2?
Plany Magento 2 w smartxhosting.pl to 4 CPU, 16 GB RAM, SSD NVMe i pre-konfigurowany stack: Redis, Elasticsearch, Varnish. Twój sklep będzie działał szybko od pierwszego dnia.
Sprawdź plany Magento 2