Czym jest cache warming?

Czym jest cache warming

Czym jest cache warming

Często pytacie nas, czy warto zaimplementować tzw. cache warming i czy faktycznie zwiększa on prawdopodobieństwo wczytywania danych z pamięci podręcznej, a co za tym idzie przyspiesza ładowanie się stron. W tym artykule chcemy odpowiedzieć na to pytanie, jak również omówić pojęcia “ciepłej” i “zimnej” pamięci podręcznej (“warm cache” i “cold cache”) oraz wady i zalety cache warmingu dla odwiedzających.

Pamięć “ciepła” a pamięć “zimna”

Pamięć cache (czy to na lokalnym serwerze czy poprzez sieć Content Delivery Network) przechowuje kopię plików składowych strony internetowej, umożliwiając użytkownikom szybszy dostęp. Poprzez umieszczenie kopii zdjęć, plików CSS i HTML w pamięci podręcznej, serwer docelowy nie musi za każdym razem ich generować, gdy nowy użytkownik wchodzi na stronę. Proces ten przyczynia się do szybszego ładowania stron i zmniejsza obciążenie serwera, pozwalając na większy ruch na naszej witrynie.

Współczesne strony internetowe są niemal bez przerwy aktualizowane. Internetowe magazyny regularnie edytują swoje artykułu, a strony poświęcone ecommerce muszą na bieżąco aktualizować swój inwentarz. Przez to pliki w pamięci podręcznej ulegają przedawnieniu – czasem po minucie, a czasem po godzinie. Gdy plik ulega przedawnieniu, musi zostać pobrany na nowo z serwera docelowego.

Pierwszy użytkownik, który odwiedzi witrynę po pierwszym ustawieniu pamięci cache lub po jej przedawnieniu natrafi na pustą, bądź “zimną” pamięć. Pamięć podręczna pobiera żądane dane z serwera, przekazuje je do użytkownika i pozostawia ich kopię – taką pamięć nazywamy “ciepłą”. Każdy kolejny użytkownik odwiedzający stronę, dopóki cache się nie przedawni, może uzyskać dostęp do potrzebnych plików prosto z pamięci podręcznej, zamiast z serwera.

Podsumowując, pamięć “zimna” nie przetrzymuje żadnych plików, natomiast pamięć “ciepła” przechowuje pliki, które natychmiastowo może przesłać do użytkowników.

Cache warming: wady i zalety

Zalety

W większości przypadków chcemy by nasi użytkownicy napotykali ciepły cache, by szybciej pobrać pliki. Niestety, jeśli aktywnie nie będziemy stosować cache warmingu, część użytkowników i tak natrafi na pamięć zimną – czy to przez przedawnienie pamięci podręcznej czy wyczyszczenie jej.

Czym więc jest cache warming i jakie korzyści przynosi dla witryn? Cache warming, lub rozgrzewanie pamięci podręcznej, jest celowym wypełnianiem pamięci podręcznej, aby użytkownicy zawsze natrafiali na ciepły cache. Strony, które praktykują cache warming, przygotowują pamięć cache dla użytkowników (stąd też “rozgrzewanie” pamięci, tak jak rozgrzać można np. silnik w aucie),Dzięki wymuszeniu wygenerowania cache unikamy niepotrzebnego oczekiwania użytkowników. Dzięki temu zapewnimy każdemu użytkownikowi – nawet temu pierwszemu – identyczny odbiór naszej witryny czyli szybkie ładowanie strony.

Potencjalne wady Cache warming

Na pierwszy rzut oka mogłoby się wydawać oczywistym, że przyspieszenie szybkości wczytywania się stron dla wszystkich użytkowników jest czymś bezapelacyjnie pożądanym. Niestety, w praktyce nie jest to takie łatwe i często ma pewne mankamenty. Przykładowo, większość witryn posiada więcej niż jeden serwer cache, lub korzysta z globalnej sieci CDN, która z kolei może posiadać nawet setki oddzielnych pamięci cache.

By w pełni rozgrzać cache, witryny muszą zapełnić wszystkie z tych pamięci. Można to zrobić za pomocą robota internetowego (tzw. crawlera), jednak musiałby on uzyskać dostęp do witryny wielokrotnie z różnych lokacji, aby każda pamięć została zapełniona. Im więcej serwerów cache, tym bardziej skomplikowany jest to proces. W przypadku wielu serwerów może to niepotrzebnie zwiększyć obciążenie witryny, ponieważ pamięci muszą być regularnie wypełniane w oczekiwaniu na nowych użytkowników.

Problem stwarzają również witryny z dużą ilością podstron, artykułów, bądź produktów. By w pełni rozgrzać cache, wszystkie z nich musiałaby być regularnie kopiowane do pamięci podręcznej – nawet te najrzadziej odwiedzane. Użytkownicy witryny z 1000 dostępnych produktów mogą odwiedzić tylko 20 z nich, a używając rzeczywistych odwiedzin zamiast crawlera możemy wymusić zapisywanie tylko tych danych, które są aktualnie używane.

Podsumowanie

Cache warming to znakomity sposób na poprawę szybkości działania strony. Nie mniej może on wygenerować wiele niepotrzebnych działa i w efekcie generować sztuczne obciążenie. Jeśli mamy Wiele CDN i mamy wiele podstron(ponad 10 000) warto pomyśleć o innych aspektach przyspieszających działanie strony. Pamiętajcie że optymalizacja kody przede wszystkim, warto tez mieć zoptymalizowany hosting. Hosting dla WordPress może znacząco wpłynąć na oszczędności czasowe i finansowe

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *