小编use*_*548的帖子

Varnish 如何处理存储空间不足?

我正在使用 Varnish 3.0.3(撰写本文时的最新版本),或多或少是默认安装,使用以下存储:

# # 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}"
#
Run Code Online (Sandbox Code Playgroud)

大多数可以缓存的页面都有很长的 TTL。我正在使用的站点很大,有数百万个页面,这不可能适合上面列出的存储大小 (4 GB)。

设置问题:

  • 让我们假设整个存储空间已满,并且缓存中的任何内容都没有过期(我的 TTL 是缓存中每个项目的 2 周)。

  • 我假设 Ban Lurker 在这里没用,因为它只会删除过期的项目,而没有过期的项目。

问题:

  • 鉴于上述情况,当额外的请求进入缓存中尚未存在的内容时,Varnish 会发生什么情况?无论这些项目的 TTL 是多少,Varnish 是否会尝试从缓存中删除旧项目?清漆会崩溃吗?悬挂?

  • 如果 Varnish 不处理场景,我可以做些什么来配置它以更好地处理场景?(我显然可以降低缓存中项目的 TTL,但我想知道是否有任何其他建议)。

在这种情况下,我看到 Varnish 有效地停止响应请求。在发生这种情况时,我并没有耗尽内存或 CPU 的内存。

谢谢。


跟进: …

cache varnish ttl

9
推荐指数
1
解决办法
5206
查看次数

标签 统计

cache ×1

ttl ×1

varnish ×1