Przejdź do głównej zawartości

Kompresja

Cache’owane body odpowiedzi jest zapisywane w wybranym backendzie (Filesystem / Redis / APCu). Gdy Enable Cache Compression jest on (domyślnie), zapisany payload jest gzip-kompresowany na wybranym poziomie. Wymienia mały koszt CPU za 40–60% oszczędności dysku / pamięci.

Konfigurowane pod Settings → Speed Boost → Core → Cache Storage.

  • Kompresuje body odpowiedzi przed zapisem do backendu
  • Dekompresuje przy odczycie przed serwowaniem
  • Nie kompresuje odpowiedzi HTTP wysłanej do klienta — tym zajmuje się Twój serwer www / reverse proxy (gzip on w Nginx, mod_deflate w Apache, Brotli na CDN itd.).
  • Nie wpływa na Varnisha — Varnish trzyma własną reprezentację.
  • Nie wpływa na tabele bazy — metadane p2lab_cache_entry są bez kompresji.
PoziomTypowy ratioKoszt CPU (relatywny)Kiedy wybrać
1~30%bardzo niskiSklep z dużym ruchem na tanim CPU
3~40%niskiZbalansowany low-cost
6~50%średni (rekomendowany)Default dla większości sklepów
9~55%wysokiDisk- / memory-bound, mały ruch

Liczby to przybliżone średnie po typowych stronach produktów Shopware (40–200 KB HTML). Większe strony kompresują się lepiej; bardzo małe strony mogą skończyć trochę większe niż bez kompresji dzięki narzutowi frame gzipa.

  • Backend Filesystem, host disk-bound — tak, prawie zawsze. Odczyt mniejszego pliku z dysku często jest szybszy niż większego nawet po dekompresji.
  • Backend Redis, memory-constrained instancja — tak. Kompresja typowo dzieli na pół Twój footprint maxmemory.
  • Backend APCu, małe apc.shm_size — tak, kompresja kupuje Ci więcej cache’owanych stron w tej samej alokacji.
  • Backend APCu, hojne apc.shm_size, endpointy latency-sensitive — może wyłącz. Koszt dekompresji dodaje mikrosekundy; dla bardzo małych payloadów może być net-negative.
  • Profilujesz i każda mikrosekunda na ścieżce cache HIT ma większe znaczenie niż oszczędności dysku / pamięci.
  • Twój backend już kompresuje transparentnie (większość nie).
  • Twoje odpowiedzi są wszystkie bardzo małe (< 5 KB).

Dashboard raportuje:

  • Total cached size — bieżący footprint backendu
  • Total original size — ile byłby bez kompresji
  • Total space saved — różnica
  • Average cache-hit time — zawiera dekompresję

Wyłącz kompresję, uruchom reprezentatywny warmup, zanotuj liczby. Włącz, uruchom ponownie. Porównaj.

Przełącznik kompresji i poziom są per kanał sprzedaży, ale w praktyce niemal zawsze wybierasz jedno globalne ustawienie. Mieszany setup dodaje złożoność operacyjną, a benefit per kanał jest marginalny.