在 Varnish 中获取每个域的内存使用情况
Get memory usage per domain in 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
查看每个商店使用了多少 space (g_bytes
) 和可用 (g_space
)。
我的服务器上有一个 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
查看每个商店使用了多少 space (g_bytes
) 和可用 (g_space
)。