Wie überprüfe ich, ob die gewählte Größe des Lack-Cache ideal ist?

20

Ich habe meinen Varnish-Cache so konfiguriert, dass er eine Cache-Größe von 512 MB verwendet.

varnishd ... -s file,/var/cache/varnish.cache,512M

Fragen:

  • Wie kann ich überwachen, ob 512 MB zu klein, zu groß oder in Ordnung sind?
  • Wie erhalte ich die aktuelle Nutzungsgröße des Caches?
  • Wie sehe ich, wie oft Objekte aus dem Cache entfernt werden, weil der Cache voll ist?
knorv
quelle

Antworten:

18

Ich habe die Lösung gefunden:

Sie können überwachen, wie viel von der maximalen Cachegröße (in diesem Fall 512 MB) Varnish durch Ausführen zugewiesen hat varnishstat. Dann suchen Sie nach den Ausgabezeilen "Bytes belegt" und "Bytes frei".

Die folgende Beziehung gilt:

Command line configuration of max size = [bytes allocated] + [bytes free]

Abhängig von der Größe der "freien Bytes" können Sie die Cachegröße optimieren, um ein geeignetes Level zu finden.

knorv
quelle
14
Ein noch besserer Indikator ist "n_lru_nuked" ( varnishstat -1 -f n_lru_nuked) - er zeigt die Anzahl der Objekte an, die aus dem Cache entfernt wurden.
Knorv
1
varnishstat -f SMF.s0.c_bytes, SMF.s0.g_space
Choonkeat
15

Beobachten Sie die n_lru_nukedTheke. Bei jeder Erhöhung wirft Varnish etwas aus dem Cache, da der Speicherplatz knapp wird.

Idealerweise möchten Sie nicht, dass der LRU-Zähler überhaupt ansteigt, da das Auslagern von Daten aus dem Cache normalerweise ein erneutes Abrufen erfordert. Wenn Ihr Schwanz jedoch lang ist, kann LRU nicht vermieden werden.

perbu
quelle
was tut if your tail is longbedeuten?
Cherouvim
Ich denke in diesem Zusammenhang bedeutet dies, dass viele selten verwendete Elemente im Cache landen und den gesamten Cache-Speicher belegen. Es ist ein Verweis auf dieses Konzept: en.wikipedia.org/wiki/Long_tail
cam8001
1

Wenn Sie nicht erwarten, dass alle Ihre Daten in den Cache passen, würde ich das Verhältnis von Cache-Treffern zu Cache-Fehlern untersuchen. Sie erhalten sinkende Renditen. Wenn Sie den Cache verdoppeln, wird sich Ihre Miss-Rate wahrscheinlich halbieren. Dies ist ein großer Gewinn, wenn die Hälfte Ihrer Anfragen nicht zwischengespeichert ist, und weniger, wenn 90% der Anfragen nicht zwischengespeichert sind.

eas
quelle