Nodea — logo

Varnish Cache

Varnish Cache to wydajny akcelerator HTTP, nazywany też odwrotnym proxy z buforowaniem (reverse proxy cache). Ustawia się go przed serwerem aplikacji, gdzie przechwytuje przychodzące żądania i, jeśli ma zapisaną aktualną odpowiedź, zwraca ją bezpośrednio z pamięci — bez angażowania serwera WWW, bazy danych czy kodu aplikacji.

Jak działa Varnish

Przy pierwszym żądaniu Varnish przekazuje je do serwera aplikacji (backendu), pobiera odpowiedź i zapisuje ją w pamięci RAM. Kolejne identyczne żądania obsługuje już samodzielnie, w ułamku czasu potrzebnego na wygenerowanie strony od zera. Zachowanie bufora — co, na jak długo i dla kogo jest zapisywane — definiuje się w języku konfiguracyjnym VCL, co pozwala precyzyjnie sterować regułami cache, także w wariancie mikrobuforowania na kilka sekund.

Kiedy stosować Varnish

Varnish sprawdza się szczególnie w serwisach o dużym ruchu, gdzie wiele osób ogląda te same, rzadko zmieniające się treści — portalach, blogach, sklepach z popularnymi stronami produktów. Odciążając backend, radykalnie skraca czas do pierwszego bajtu (TTFB) i pozwala obsłużyć skoki ruchu bez rozbudowy serwera. Często łączy się go z CDN: Varnish buforuje blisko aplikacji, a CDN rozprasza kopie treści bliżej użytkowników na całym świecie. Wyzwaniem bywa poprawne unieważnianie bufora po zmianie treści oraz obsługa stron dynamicznych i spersonalizowanych, które nie nadają się do prostego cache'owania i wymagają starannie zaprojektowanych reguł.

Powiązane pojęcia

Najczęstsze pytania

Czym Varnish różni się od CDN?

Varnish zwykle działa na Twoim serwerze i buforuje odpowiedzi blisko aplikacji, a CDN rozprasza kopie treści po całym świecie, bliżej użytkowników. Oba mechanizmy często łączy się, aby uzyskać maksymalne przyspieszenie.