linux - 在 Varnish 中获取每个域的内存使用情况

标签 linux memory varnish

我的服务器上有一个 Varnish 缓存,上面有 5 个不同的域。我可以通过 varnishstat 和 top 获取 Varnish 的总内存使用情况。但是我想知道varnish中每个domain占用了多少内存?

最佳答案

这不会为您提供确切的内存,而是每个域的缓存使用情况。

运行varnishd,指定多个存储:

varnishd -s domain1=malloc,1G -s domain2=malloc,2G ...

在您的 VCL 中,根据域设置存储:

sub vcl_backend_response {
    if (bereq.http.host == "domain1.example.com") {
        set beresp.storage = domain1;
    } else if {
        set beresp.storage = domain2;
    }
}

然后你可以使用:

varnishstat  -1 -f SMA.domain1.g_bytes -f SMA.domain1.g_space
varnishstat  -1 -f SMA.domain2.g_bytes -f SMA.domain2.g_space

查看每个商店使用了多少空间 (g_bytes) 和可用空间 (g_space)。

关于linux - 在 Varnish 中获取每个域的内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56277643/

相关文章:

c - 如何将变量设置为与另一个指针分配和指向的空间量相同?

ssl - 如何在 Varnish 层后面的同一台服务器上使用多个 SSL?

java - 设置文件的执行权限

c - 为什么在 c(Linux) 中创建文件需要执行权限和写入权限?

linux - linux下创建或修改多个指定文件大小的文件用什么命令

android - 位图大小大于宽度和高度

linux - 如何修复此无法查看在 Linux 中运行的 Codeigniter 3 中的登录页面

c++ - 编辑其他进程内存

varnish - 如何在 Varnish 中获取请求正文

docker - Varnish docker 容器没有响应