Litespeed Cache (Cykl) – tajniki zaawansowanej konfiguracji – cz.3 Pamięć Podręczna

zenbox.pl 3 miesięcy temu

Numerologiczna trójka to jedna z najbardziej wpływowych liczb w numerologii. Często określana jako „symbol boskości”, symbolizuje harmonię duszy, ciała i umysłu. Mimo swojej wyjątkowości, nie jest pozbawiona słabości. Zapraszam na trzecią część cyklu o zaawansowanej konfiguracji we wtyczce Litespeed Cache w WordPress, gdzie zajmiemy się jej kategorią konfiguracji jaką jest Pamięć Podręczna. Dlaczego trzecia część jest taka ważna? Nie wiem. Czy to przypadek? Na moje numerologiczne oko, „nie sądzę”. Zapraszam do artykułu.

W tym artykule przybliżę Ci:
  • Jak skonfigurować pamięć podręczną
  • Jak zmienić Time to Live (TTL) poszczególnych elementów cache
  • Czym jest ESI
  • Czym jest cache obiektowe i jak zacząć z niego korzystać

Konfiguracja pamięci podręcznej

Pamięć podręczna (cache) to technologia mająca na celu przyspieszenie działania stron internetowych poprzez tymczasowe przechowywanie danych, które zostały już wcześniej wygenerowane lub pobrane. Zamiast zmuszać przeglądarkę, aby ta za każdym razem ładowała wszystkie elementy strony, można użyć wcześniej już zapisanej zawartości i dostarczyć ją użytkownikowi w błyskawiczny sposób. Dzieje się to dzięki odciążeniu serwera i skróconemu czasu odpowiedzi.

Jak to działa?

  • Gdy użytkownik po raz pierwszy odwiedza stronę, serwer generuje całą stronę w sposób tradycyjny, łącząc się z bazą danych i przetwarzając dane.
  • Po wygenerowaniu strony, jej treść jest zapisywana w pamięci podręcznej – na serwerze, w przeglądarce użytkownika, lub w obu miejscach.
  • Przy kolejnych wizytach, zamiast ponownie przetwarzać dane, serwer (lub przeglądarka) dostarcza zapisany wcześniej „gotowy” wynik, co znacząco przyspiesza ładowanie strony.

W tym artykule zajmiemy się dwoma typami cache, to które obsługiwane jest po stronie serwera i to po stronie przeglądarki. pozostało trzeci, o którym również opowiem w jednym z kolejnych artykułów, jest nim CDN, taki jak na przykład QUIC.cloud

LiteSpeed Cache, jako wtyczka dla serwerów LiteSpeed, idzie krok dalej w optymalizacji tego procesu. Korzysta z tzw. pamięci podręcznej na poziomie serwera, co oznacza, iż działa głębiej niż inne rozwiązania, które zwykle działają na poziomie aplikacji (np. poprzez wtyczki WordPress, które cachują strony na poziomie PHP).

Przejdźmy do ustawień we wtyczce, wybierając z menu WordPress’a Litespeed Cache -> Pamięć podręczna

[1] Pamięć podręczna

W tej zakładce mamy do dyspozycji podstawową konfigurację cache dla naszej strony.

Enable Cache – Dzięki tej opcji możemy włączyć lub wyłączyć cache. Pamięć podręczna będzie oczywiście działać tylko w momencie gdy opcja ta jest włączona. jeżeli jednak napotykamy problemy na stronie i podejrzewamy o to cache, wyłączamy je tutaj i w łatwy sposób sprawdzamy czy podejrzenia okazały się słuszne.
Moja sugestia – Włączone, bez tego nie pojedzie.

Zapisuj w pamięci podręcznej dla zalogowanych użytkowników – Ta opcja pozwoli włączyć bądź wyłączyć cache dla zalogowanych użytkowników. Strony będą zachowane w prywatnym cache dla danego IP i ID sesji.
Moja sugestia – Włączone

Zapisuj komentujących w pamięci podręcznej – Dzięki tej opcji możemy zdecydować w jaki sposób osoba zostawiająca komentarz na stronie będzie ją widzieć, gdy mamy włączoną moderację komentarzy. jeżeli opcja będzie wyłączona, to dla takiej osoby strona będzie musiała zostać załadowana od początku do końca, bez funkcji cache i zobaczy ona oczekujący na akceptację należący do niej komentarz.
Moja sugestia – Włączone

Zapisuj REST API do pamięci podręcznej – Jak sama nazwa mówi, możemy włączyć cache dla wywołań WordPress’owego REST API.
Moja sugestia – Włączone

Zapisuj stronę logowanie do pamięci podręcznej – Dzięki tej opcji cache będzie obejmowało również stronę logowania.
Moja sugestia – Włączone

Zapisz zasoby PHP – Ta opcja pozwoli na cache’owanie zasobów css i js motywu, które są ładowane w PHP. Najczęściej są one statyczne, jeżeli jednak występują one dynamicznie w Twoim skrypcie, należy wyłączyć tę funkcję.
Moja sugestia – Włączone

Zapisuj urządzenia mobilne – Dzięki tej opcji możemy serwować osobną kopię cache dla urządzeń mobilnych i desktopów. Jest to wyjątkowo ważne, gdy posiadasz nieresponsywny motyw w WordPress’ie, wtedy nieoptymalnym jest posiadanie jednej kopii cache, które jest uniwersalne i nie bierze pod uwagę tego, iż elementy strony są zwykle różne dla dużych i małych wyświetlaczy, co może przełożyć się na słabszy User Experience, a co za tym idzie słabszą pozycję w wyszukiwarkach, czy mniejsze konwersje. Dzięki dopasowanemu cache dla różnych urządzeń, przyspieszamy też proces odpowiedniego załadowania strony.

Podsumowując, włączenie Cache Mobile może być przydatne gdy:

  • Używasz różnych motywów lub szablonów dla urządzeń mobilnych i desktopowych.
  • Twoja strona zawiera elementy graficzne, które są zoptymalizowane pod kątem mniejszych ekranów.
  • Twoja strona ma duży ruch z urządzeń mobilnych, co jest standardem dla większości współczesnych stron internetowych.

Moja sugestia – Włączone

Lista użytkowników mobilnych – Tutaj wpisujemy nazwy przeglądarek mobilnych, które chcemy obsługiwać dla cache mobilnego.
Moja sugestia – Pozostawić domyślne

Prywatne zapisane URLe – Ustawienie służy do wskazywania jakie adresy mają nie być zapisywane w pamięci dla publicznych użytkowników. Dla tych adresów będzie działało tylko cache prywatne.
Moja sugestia – Pozostawić domyślne

Wymuś identyfikatory URI pamięci podręcznej – LiteSpeed Cache oferuje elastyczność w definiowaniu, które zasoby powinny być przechowywane w pamięci podręcznej, choćby jeżeli gdzie indziej zostały one oznaczone jako „niecache’owalne”. Można to zrobić dzięki reguł opartych na ścieżkach URI. Dzięki temu masz pełną kontrolę nad tym, które części strony będą cache’owane, co pozwala na optymalizację wydajności witryny w sposób bardziej precyzyjny.
Moja sugestia – Pozostawić domyślne do czasu potrzeby zastosowania tej funkcji.

Force Public Cache URIs – Ta opcja działa w podobny sposób do prywatnie zapisanych URI, ale nakazuje zapisywanie podanych ścieżek do cache publicznego.
Moja sugestia – Pozostawić domyślne do czasu potrzeby zastosowania tej funkcji.

Usuń ciąg zapytań – Ta opcja wyłącza dodatkowe buforowania tej samej strony, kiedy w linku URL pojawiają się tak zwane Query Strings, najczęściej wykorzystywane w marketingu, na przykład do śledzenia ruchu na stronie. W takich przypadkach nie ma potrzeby przechowywania wielu kopii tej samej strony w pamięci podręcznej tylko z powodu drobnych różnic w adresie URL.
Moja sugestia – Pozostawić domyślne do czasu potrzeby zastosowania dodatkowych wpisów.

[2] TTL

W tej zakładce otrzymujemy kontrolę co do czasu odnowienia się cache dla poszczególnych kategorii.

Domyślny Publiczny Cache TTL – Ustala, jak długo zasoby w pamięci podręcznej publicznej mogą być przechowywane, zanim zostaną odświeżone.

Domyślny TTL prywatnej pamięci podręcznej – Określa, jak długo dane specyficzne dla użytkownika będą przechowywane w prywatnej pamięci podręcznej.

Domyślny TTL strony głównej – Reguluje, jak długo pamięć podręczna strony głównej będzie przechowywana, zanim zostanie odnowiona.

Domyślny TTL kanału informacji – Dotyczy czasu przechowywania treści z kanałów RSS lub Atom w pamięci podręcznej.

Default REST TTL – Określa, jak długo pamięć podręczna dla odpowiedzi API REST będzie przechowywana.

Default HTTP Status Code Page TTL – Ustala czas, przez jaki strony błędów, takie jak 404, będą trzymane w pamięci podręcznej.

Moja sugestia – Pozostawić wartości domyślne do czasu potrzeby ich zmodyfikowania.

[3] Wyczyść

Jest to kolejna kategoria w ustawieniach Pamięci podręcznej, w której możemy ustalić zasady czyszczenia cache na naszej stronie.

Opróżnij wszystko podczas aktualizacji – Ważne ustawienie, które praktycznie zawsze powinno być włączone. Dzięki temu po każdej aktualizacji jakiejkolwiek wtyczki, motywu czy samego WordPress’a, cache zostanie automatycznie wyczyszczone, co może od rozwiązać ewentualne problemy z kompatybilnością.
Moja sugestia – Włączone!

Zasady automatycznego oczyszczania dla publikowania / aktualizacji – LiteSpeed Cache automatycznie czyści pamięć podręczną po opublikowaniu lub zaktualizowaniu treści (na przykład stron, czy wpisów), aby użytkownicy zawsze widzieli najnowszą wersję strony.
Moja sugestia – Pozostawić domyślne

Server Stale – Ta opcja pozwala serwować użytkownikom starsze wersje strony z pamięci podręcznej, gdy nowa treść pozostało generowana, zapewniając płynne działanie witryny choćby w trakcie odświeżania cache.
Moja sugestia – Dowolnie

Zaplanowane adresy URL – Wpisane tam ścieżki lub linki URL zostaną wyczyszczone o wyznaczonej poniżej godzinie w Zaplanowanym czasie czyszczenia

Wyczyść wszystkie rozszerzenia – zaawansowane narzędzie, które automatycznie usuwa pamięć podręczną dla wszystkich zasobów związanych z Twoją witryną, gdy określone zdarzenia mają miejsce. Dzięki temu, gdy nastąpi jakakolwiek istotna zmiana w systemie — na przykład aktualizacja treści, zmiana ustawień, czy modyfikacja motywu wszystkie przechowywane w pamięci podręcznej wersje strony są natychmiast czyszczone.
Moja sugestia – Pozostawić domyślne

[4] Nie zawiera

Opcja Nie zawiera w ustawieniach pamięci podręcznej LiteSpeed Cache umożliwia użytkownikom wykluczenie określonych stron, parametrów zapytań lub ścieżek z procesu cache’owania. Kiedy dodasz konkretne elementy do tej listy, LiteSpeed Cache zignoruje je podczas tworzenia pamięci podręcznej, co oznacza, iż użytkownicy nie zobaczą tych zasobów w wersji przechowywanej w pamięci podręcznej.

Nie zapisuj w pamięci podręcznej URL-ów – Ta funkcja zapobiega zapisywaniu w pamięci podręcznej określonych adresów URL, co może być przydatne dla stron, które często się zmieniają.

Nie zapisuj w pamięci podręcznej query stringów – Dzięki tej opcji LiteSpeed Cache nie będzie przechowywał wersji stron zawierających określone parametry zapytań, co pomaga uniknąć duplikacji treści.

Nie zapisuj w pamięci podręcznej kategorii – Ta funkcja wyklucza strony kategorii z pamięci podręcznej, co jest przydatne, gdy ich zawartość często się zmienia lub jest dynamiczna.

Nie zapisuj w pamięci podręcznej tagów – Umożliwia pominięcie pamięci podręcznej dla stron tagów, co pozwala na bieżące wyświetlanie aktualnych treści związanych z danymi tagami.

Nie zapisuj w pamięci podręcznej ciasteczek – Opcja ta sprawia, iż pamięć podręczna nie uwzględnia sesji związanych z ciasteczkami, co jest przydatne dla treści, które są zindywidualizowane w zależności od użytkownika.

Nie zapisuj w pamięci podręcznej User Agentów – Dzięki temu ustawieniu LiteSpeed Cache nie tworzy osobnych wersji strony dla różnych przeglądarek lub urządzeń, co pomaga w uproszczeniu pamięci podręcznej.

Nie zapisuj w pamięci podręcznej ról – Ta funkcja wyklucza z pamięci podręcznej treści specyficzne dla różnych ról użytkowników, co zapewnia, iż każdy użytkownik widzi odpowiednie informacje.

Moja sugestia – konfigurować w miarę potrzeby

[5] ESI

Edge Side Includes (ESI) to zaawansowana technologia używana w LiteSpeed Cache, która pozwala na dynamiczne ładowanie fragmentów strony, co znacznie poprawia wydajność i szybkość ładowania. Dzięki ESI można łatwo integrować z pamięcią podręczną zarówno statyczne, jak i dynamiczne elementy, co jest idealne dla witryn, które często zmieniają swoją zawartość, takich jak strony e-commerce czy blogi z aktywną sekcją komentarzy.

Włącz ESI – Ta opcja aktywuje funkcję ESI, umożliwiając dynamiczne ładowanie fragmentów stron, co pozwala na lepsze zarządzanie pamięcią podręczną i szybsze ładowanie treści.

Zapisuj pasek administratora – Dzięki tej funkcji pasek administratora będzie przechowywany w pamięci podręcznej, co zapewnia administratorom szybki dostęp do niezbędnych narzędzi i informacji bez opóźnień.

Zapisz formularz komentarzy – Opcja ta umożliwia zapisywanie formularza komentarzy w pamięci podręcznej, co pozwala na szybsze ładowanie strony, jednocześnie umożliwiając użytkownikom dodawanie komentarzy.

ESI Nonces – Ta funkcja umożliwia generowanie unikalnych identyfikatorów (nonces) dla komponentów ESI, co zwiększa bezpieczeństwo i integralność dynamicznie ładowanych elementów.

Grupa zmienna – Opcja ta pozwala na grupowanie zmiennych ESI dla konkretnych ról użytkowników WordPress’a, co umożliwia elastyczne zarządzanie pamięcią podręczną.

Moja sugestia – konfigurować w miarę potrzeb

[6] Object

Object Cache to technika, która pozwala na przechowywanie wyników zapytań do bazy danych w pamięci, co znacząco przyspiesza działanie strony internetowej. W przypadku LiteSpeed Cache, Object Cache korzysta z systemu Redis (i starszego Memcached), który jest jednym z najpopularniejszych rozwiązań do zarządzania danymi w pamięci.

Informujemy: W Zenbox możesz używać serwera Redis zupełnie za darmo już od drugiego w kolejności planu hostingowego. Najniższy plan Hosting Firma 10k w ogóle nie posiada takiej opcji.

Kiedy odwiedzasz stronę, wiele informacji, takich jak posty, ustawienia czy dane użytkowników, jest pobieranych z bazy danych. jeżeli strona ma dużo odwiedzin, ciągłe zapytania do bazy danych mogą spowalniać jej działanie. Tutaj właśnie wkracza Object Cache — zamiast za każdym razem sięgać do bazy, LiteSpeed Cache przechowuje wyniki tych zapytań w pamięci, dzięki czemu kolejne odwołania do tych samych danych są dużo szybsze.
Moja sugestia – Bardzo polecam to rozwiązanie włączyć

Jeśli chcesz dowiedzieć się więcej o Redis w naszej firmie, zapraszam do przeczytania Szybki jak Redis w Zenbox.pl

[7] Browser

W ustawieniach tej kategorii możemy włączyć zapisywanie statycznych plików w cache przeglądarki użytkowników wchodzących na Twoje strony. Dzięki temu zostaną zredukowane wielokrotne żądania wysyłane z przeglądarki do serwera, co w prosty sposób zoptymalizuje wykorzystanie jego zasobów.
Moja sugestia – Bardzo polecam to rozwiązanie włączyć

[8] Zaawansowane

W ustawieniach LiteSpeed Cache w sekcji Pamięć podręczna -> Zaawansowane mamy kilka opcji, które mogą brzmieć technicznie, ale tak naprawdę odpowiadają za to, jak dynamicznie i skutecznie działa cache na naszej stronie.


AJAX Cache TTL – To ustawienie określa, jak długo wyniki zapytań AJAX mają być przechowywane w pamięci podręcznej. AJAX jest często wykorzystywany do dynamicznego odświeżania fragmentów strony bez przeładowania całości.
Moja sugestia – wedle potrzeb

Ciasteczko logowania – Jak sama nazwa wskazuje, dotyczy ciasteczek, które są tworzone, kiedy użytkownik loguje się na stronie. To ustawienie pozwala na personalizację cache dla zalogowanych użytkowników, co jest przydatne, bo dzięki temu nie pokazujemy każdemu użytkownikowi tych samych danych.
Moja sugestia – wedle potrzeb

Vary Cookies – Tutaj mówimy o „różnicowaniu” ciasteczek, czyli możliwości dostosowania treści w pamięci podręcznej w zależności od tego, jakie ciasteczka ma użytkownik. Przykład? Wyobraź sobie, iż ktoś przegląda stronę w różnych językach – to ustawienie pomoże w przechowywaniu różnych wersji strony, dostosowanych do języka użytkownika.
Moja sugestia – wedle potrzeb

Popraw zgodność HTTP / HTTPS – Ta opcja odpowiada za to, żeby wersje strony dla HTTP i HTTPS były zgodne. Przydatne, jeżeli masz wersje strony dostępne zarówno przez niezabezpieczony, jak i zabezpieczony protokół (choć dzisiaj HTTPS to standard). Dzięki temu użytkownik nie będzie dostawał niekompletnych stron, jeżeli przeskoczy między wersjami.
Moja sugestia – używaj tylko jeżeli posiadasz stronę w dwóch wersjach i zauważysz pomiędzy nimi nieprawidłowości.

Natychmiastowe kliknięcie – To sprytna funkcja, która sprawia, iż elementy strony, jak przyciski czy linki, wydają się natychmiastowo reagować na kliknięcie. Technicznie rzecz biorąc, to trochę „przewiduje” kliknięcia i ładuje stronę z pamięci podręcznej, zanim użytkownik faktycznie kliknie – co sprawia, iż strona wydaje się szybsza w obsłudze.
Moja sugestia – dość interesujące rozwiązanie, jeżeli posiadamy mniejszą stronę i/lub dużo wolnych zasobów (CPU) na serwerze.

Podsumowanie

Po długich bojach, dzisiejszego artykułu przyszedł kres. Mam nadzieję, iż jego treść zaspokoiła, choćby w sposób tymczasowy, głód poszerzania wiedzy o optymalizacjach, natomiast kolejnej części cyklu możecie spodziewać się już wkrótce. Z pozdrowieniami!

Idź do oryginalnego materiału