Optymalizacja wydajności Magento 2

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.

2 marca 2026 · Magento 2 / MageOS · 9 min czytania

Spis treści

  1. Dlaczego wydajność Magento 2 jest krytyczna?
  2. Full Page Cache i Varnish
  3. Redis – cache sesji i obiektów
  4. Elasticsearch i wyszukiwarka
  5. Optymalizacja obrazów i zasobów statycznych
  6. Optymalizacja bazy danych MySQL
  7. 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.

Ważne: Minimalne wymagania dla Magento 2 produkcyjnego to 4 CPU i 8 GB RAM. Plany Magento 2 + Hyvä + Satoshi i MageOS + Hyvä w smartxhosting.pl zapewniają 4 CPU i 16 GB RAM — z rezerwą na wzrost ruchu.

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.

Włącz Full Page Cache

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).

Skonfiguruj Varnish (środowisko LXC/VPS)

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.

Weryfikacja działania cache

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)
Wskazówka: Użyj osobnych instancji Redis (lub osobnych baz Redis) dla cache obiektów i sesji. Dzięki temu nie dojdzie do sytuacji, w której przepełnienie cache obiektów usuwa sesje zalogowanych klientów.

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.

Przeindeksuj katalog

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.

Skonfiguruj synonimy wyszukiwania

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)
Ważne: JavaScript Bundling w standardowym motywie Luma może paradoksalnie spowolnić sklep. W motywie Hyvä bundling nie jest potrzebny — Alpine.js jest ładowany jako moduł ES6 z natywnym tree-shaking przeglądarki.

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
Wskazówka: Użyj narzędzia n98-magerun2 (narzędzie CLI dla Magento 2) do szybkiej analizy: n98-magerun2 db:status pokazuje statystyki bazy, n98-magerun2 sys:cron:list pozwala zarządzać zadaniami cron Magento.

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
Magento 2 wydajność cache Varnish Redis Elasticsearch
Czy ta informacja była pomocna? 0 klientów oceniło tę informację jako przydatną (0 Głosów)