Używam Varnish 3.0.3 (najnowszy od tego pisania) z mniej więcej domyślną instalacją, używając następujących do przechowywania:
# # Cache file location
VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.bin
#
# # Cache file size: in bytes, optionally using k / M / G / T suffix,
# # or in percentage of available disk space using the % suffix.
VARNISH_STORAGE_SIZE=4000M
#
# # Backend storage specification
VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}"
#
Większość stron, które można buforować, będzie miała bardzo długi czas TTL. Witryna, z którą pracuję, jest ogromna i ma miliony stron, które prawdopodobnie nie mieszczą się w wymienionym powyżej rozmiarze pamięci (4 GB).
Przygotuj się na pytania:
Załóżmy, że cała przestrzeń dyskowa jest pełna i nic w buforze nie wygasło (moje TTL wynosi 2 tygodnie na każdy element w buforze).
Zakładam, że Ban Lurker jest tutaj bezużyteczny, ponieważ usunie tylko elementy, które wygasły, i żaden nie wygasł.
Pytania:
Biorąc pod uwagę powyższy scenariusz, co stanie się z Varnish, gdy pojawią się dodatkowe prośby o coś, czego jeszcze nie ma w pamięci podręcznej? Czy Varnish próbuje usunąć starsze elementy z pamięci podręcznej, niezależnie od TTL tych elementów? Czy lakier ulega awarii? Powiesić?
Jeśli Varnish nie obsługuje scenariusza, czy jest coś, co mogę zrobić, aby skonfigurować go tak, aby lepiej obsługiwał scenariusz? (Oczywiście mogłem obniżyć TTL przedmiotów w pamięci podręcznej, ale zastanawiam się, czy są jakieś dodatkowe sugestie).
Widzę w tym scenariuszu, że Lakier skutecznie przestaje odpowiadać na żądania. W tym momencie nie brakuje mi pamięci ani procesora na pudełku.
Dzięki.
Dalsze działania:
Też widziałem ten post
co skierowało mnie w stronę
co wydaje się wskazywać, że wszystko „po prostu się dzieje” ... ale wygląda na to, że faktycznie wysyła żądanie PURGE dla adresu URL, co może wymagać dodania odpowiednich elementów do VCL (patrz https://www.varnish-cache.org/ docs / 3.0 / tutorial / purging.html )
Spróbuję tego i skontaktuję się, jeśli to rozwiąże problem.
Odpowiedzi:
Zgodnie z twoją konfiguracją wydaje się, że używasz dysku do przechowywania pamięci podręcznej lakieru.
Nie jest to zalecane ( dla wydajności ), chyba że masz dobry powód (jak sinni800).
Spróbuj użyć pamięci RAM do przechowywania pamięci podręcznej lakieru („malloc” zamiast „file”) i odtwórz problem.
źródło