Varnish 需要多少 RAM?

Varnish 需要多少 RAM?

我使用 Apache 来提供静态文件。Apache2 需要太多 RAM。

我想减少 RAM 的使用。

我没有用过 Varnish。据说它更快。我不知道 Varnish 是如何工作的。

那么,运行 Apache2+Varnish 需要多少 RAM?Apache2+Varnish 的 RAM 使用率会比不带 Varnish 的 Apache2 高吗?

谢谢。

答案1

Nginx如果您想要一个轻量级的静态文件服务器,这可能是一个不错的选择。您可以在编译时选择所需的模块。

答案2

Varnish 将数据缓存在 RAM 中,以便更快地将“内容”发送给客户端。它不会节省您的 RAM 使用量,而是节省您的处理和 I/O 时间。

您应该考虑 Apache2 的替代方案。由于我主要共享大量静态数据,因此通过切换到 lighttpd+FastCGI-PHP,我节省了大量 RAM。

答案3

如果您有许多由 apache 提供的静态文件(jpg、css/js 文件和 html),您会发现使用 Varnish 来提供它们所需的内存比占用整个 apache 进程来提供单个 3kb 文件所需的内存要少。

相反,拥有许多动态文件(带有 POST/GET 查询等的 php)将不会使用 varnish,因此完全浪费内存。

所以,这取决于您的具体情况。

举个例子,在我的网站上有一个 php 文件,每个文件平均提供 20 个小图像。

不使用 varnish 时,apache 的访问速度约为 200/秒。使用 varnish 后(总共 6GB 内存),将 3GB 分配给 varnish,其余分配给 mysql/php/apache 等,apache 的访问速度下降到 10-20/秒,整个服务器的速度大大加快。但是,如果不将相当一部分内存分配给 Varnish,不要指望速度会有任何提高

粗略估计是静态内容的大小 + 25% 的开销。如果图片的提供不均匀(即某些图片的提供频率比其他图片高得多),那么您可以少用一些。

相关内容