Przejdź do głównej zawartości

Pierwsze trafienie cache

Po instalacji i podstawowej konfiguracji powinieneś zobaczyć, że odpowiedzi storefrontu są serwowane z cache przy drugim trafieniu. Oto jak to zweryfikować end-to-end.

  1. Otwórz Settings → Speed Boost → Core → Settings.
  2. Włącz Debug Mode.
  3. Zapisz.

Debug mode dodaje dwa nagłówki odpowiedzi do każdego żądania storefrontu obsługiwanego przez P2Lab Cache:

  • X-P2Lab-Cache-StatusHIT (serwowane z cache), MISS (właśnie wygenerowane i zapisane), lub brak (trasa nie cache’owalna / cache wyłączony)
  • X-P2Lab-Cache-Generation-Time — sekundy spędzone we frameworku (niskie dla HIT, pełny czas renderu dla MISS)

Wybierz dowolny URL strony produktu na swoim storefroncie. Otwórz w trybie incognito, by sesyjne cookie nie przeszkadzały, albo trafiaj z curl:

Okno terminala
curl -sI https://www.example.com/product-foo | grep -i p2lab

Pierwsze żądanie powinno zwrócić:

X-P2Lab-Cache-Status: MISS
X-P2Lab-Cache-Generation-Time: 0.4123

Powtórz ten sam URL w obrębie skonfigurowanego TTL. Teraz powinieneś zobaczyć:

X-P2Lab-Cache-Status: HIT
X-P2Lab-Cache-Generation-Time: 0.0021

Dobrze nagrzany HIT zwykle wraca w czasie kilku milisekund, niezależnie od ciężaru oryginalnej strony.

Idź do Settings → Speed Boost → Dashboard:

  • Total cached entries powinien wynosić co najmniej 1 i być podzielony na typy (Products / Categories / CMS / Listings / Buybox).
  • Total cached size pokazuje, co jest faktycznie zapisane w backendzie.
  • Average HIT time i Average generation time wypełniają się po kilku żądaniach.
  • Total space saved pokazuje zysk z kompresji (zero, jeśli kompresja wyłączona).

Jeśli przełączysz kanał sprzedaży w górnym headerze, statystyki filtrują się do tego kanału.

Odpowiedź nie jest cache’owana, gdy zachodzi którekolwiek z:

  • Sesyjne cookie wskazuje zalogowanego użytkownika
  • Obecne jest niepuste cookie koszyka
  • Trasa jest wyłączona w Dashboard → Cacheable Routes
  • Odpowiedź zawiera Cache-Control: no-store lub private
  • Cookie, które sama odpowiedź ustawia, dyskwalifikują ją
  • Obecny jest parametr query, którego nie ma na liście Ignored Query Parameters (każda osobna wartość tworzyłaby osobny wpis cache, więc domyślnie żądanie jest bypassowane)

Jeśli trasa, którą spodziewałeś się cache’ować, zawsze MISSuje, zobacz Troubleshooting po pełną checklistę.

Skoro cache działa, poznaj jego części: