我的网络服务器的缓存设置(varnish、bcache)

我的网络服务器的缓存设置(varnish、bcache)

我有几个关于缓存的问题:

基本上,我有一个服务器,为托管在其他地方的网站提供图片/视频。它运行 Caddy(但这并不重要)。

我有一个 8TB ZFS(HDD)池,在撰写本文时其中有大约 1TB 的内容,这些文件往往是缓存的良好目标,因为访问模式不是随机的(某个特定的帖子会在几天内变得流行并获得数十万次点击,然后速度就会变慢)。

我还有一个 200GB 的 SSD,我打算用它来做某种缓存。我想得到一些反馈,哪种缓存最有用。顺便说一下,我的服务器有 32GB 的 RAM。

我的主要问题是:如果我的内容(远远)多于内存,那么 Varnish(在内存中)是否有用?我在 Google 上搜索过 Varnish 内存耗尽时会发生什么,我读到的内容都暗示“坏事”,但这对我来说似乎很奇怪。我曾想象,如果在短时间内高频率地访问几个项目,即使没有足够的内存来缓存所有内容,Varnish 也会表现良好。

下一个问题是关于 bcache 的,这很大程度上取决于 Varnish 是否适合我的用例。我有一块 200GB 的 SSD,我应该将其用于 bcache(并在其内存中使用 Varnish),还是应该在磁盘上使用 Varnish(在 SSD 上,仍然比大 HDD 池快得多)并缓存大部分内容?

答案1

我认为,如果您从文件系统提供文件而无需进行任何额外处理,那么使用 Varnish 或任何其他缓存实用程序没有任何好处。您可以在 ZFS 中将 SSD 驱动器添加为 L2ARC,让 ZFS 为您处理所有缓存。

相关内容