缓存性能

也许最重要的绩效指标是命中率。

Varnish 路由它的传入请求,如下所示:

  • 哈希,一个可缓存的请求。这可能是 hitmiss,具体取决于缓存的状态。
  • Hitpass,一个不可缓存的请求。

将从服务器后端获取带有 misshitpass 的哈希并传递。带有 hit 的哈希将直接从缓存中传递。

要监控的指标:

  • cache_hit - 缓存中具有匹​​配的哈希数。
  • cache_miss - 缓存中未命中的哈希数。
  • cache_hitpass - 如上所述的 hitpasses 数量。
varnishstat -1 | grep "cache_hit \|cache_miss \|cache_hitpass"
MAIN.cache_hit              99032838         5.36 Cache hits
MAIN.cache_hitpass                 0         0.00 Cache hits for pass
MAIN.cache_miss             42484195         2.30 Cache misses

像这样计算实际的命中率:

cache_hit / (cache_hit + cache_miss)

在这个例子中,命中率是 0.7 或 70%。你想保持这个尽可能高。70%是一个不错的数字。你可以通过增加内存和自定义 vcl 来提高命中率。同时监控你的命中率的重大变化。