01.07
Od jakiegoś czasu używam varnisha jako cache dla mojego bloga i sprawdza się genialnie, dla rzeczy zcachowanych ( a przy odpowiednim configu to >90% ) czas odpowiedzi to właściwie RTT między klientem i serwerem. Nie jest skomplikowany w konfiguracji a przyśpiesza stronę paredziesięciokrotnie :).
Przygotowanie
- https://www.varnish-cache.org/docs/trunk/tutorial/ <- READ THAT! Inaczej stracisz czas na drapanie się po głowie czemu coś nie działa tak jak myślisz że działa
- Plugin do purgowania cache – ja używam Varnish Cache Purger, jest to niezbędne żeby komentarze i nowe posty pojawiały się natychmiast a nie po tym jak wygasną w cache
Konfiguracja
Dp konfiguracji Varnish używa własnego minijęzyka zwanego VCL, odrobinę podobny do C. Pozwala on na grzebanie w nagłówkach zapytania i odpowiedzi oraz kierowanie requestu gdzie trzeba + parę innych akcji takich jak purgowanie obiektów w cache
VCLki mogą być przeładowywane w locie dzięki czemu nie traci się cache przy przeładowaniu configu.
Varnish domyślnie cachuje tylko w RAM, można mu wskazać cache dyskowy ale zostanie on zdiscardowany po restarcie (bo varnish go po prostu mmap()uje i traktuje jak kawałek pamięci, zostawiając OSowi co z tym fantem ma zrobić).
Istnieje opcja zapisywania cache na dysk, polega ona na tym że varnish podczas pracy streamuje obiekty na dysk a po restarcie zapełnia nimi cache, ale jest to rozdzielne z dyskowy cache – persisten storage podczas pracy jest tylko zapisywany, varnish nie serwuje z niego obiektów.
Konfig jakiego używam u siebie (pominąłem sekcje dot. backendów):



