Nic*_*ell 16
您可以在几种不同的模式下运行 Varnish。一个使用磁盘作为缓存存储库,在这种模式下,您可以安全地重新启动 Varnish 而不会丢失您的缓存。这也意味着您可以支持非常大的缓存,并让操作系统的 IO 缓存将请求最多的内容保存在服务器的内存中。此模式配置有标志-s file,/var/lib/varnish/varnish_storage.bin,1G
另一种模式是仅内存模式 - Varnish 仅将所有缓存数据保存在内存中,从不写入磁盘。这可以提供极快的响应时间,但缓存大小受限于您的服务器有多少内存。此外,如果您重新启动 Varnish,您将丢失缓存,并且突然请求将开始淹没您的后端。但是请注意,Varnish 非常稳定,我们只会在更新发布时(每 6 个月左右)重新启动 Varnish。这种模式配置如下-s malloc,3200M
因此,为了回答您的问题,Varnish 使用更多 RAM 时性能要好得多。我们有一个 Amazon EC2 实例,它有 3.5GB RAM 且没有交换,并为 Varnish 提供 3GB RAM 用于缓存。目前,我们在缓存中拥有几乎整个后端站点,包括图像和 PDF 文件等。我绝对可以推荐此设置。
Varnish 实际上支持多个存储后端。您可以将某些内容缓存到 RAM,而将某些内容缓存到磁盘:
-s default=malloc,256m \
-s static=file,/var/lib/varnish/varnish_storage.bin,1G"
Run Code Online (Sandbox Code Playgroud)
这对于有条件地将静态文件缓存(.css、.js 文件)存储到磁盘以及将整页缓存存储到 RAM 中最有用。您需要适当调整 .vcl 文件以有条件地缓存到每个存储后端:https ://www.getpagespeed.com/server-setup/varnish-static-files-cache
这将允许您将内存占用保持在最低限度,同时仍将部分 RAM 用于缓存。
归档时间: |
|
查看次数: |
20344 次 |
最近记录: |