当清漆和网站部署在同一台服务器上时,我们不能登录服务器查看任何时候的清漆命中率。我不认为大神把它写出来了。今天我们将与大家分享。我们用清漆看命中率。



系统:CentOS 5 X。

软件:varnish-3.0 X。



PS以下版本:3可以通过插座连接到清漆管理端口。通过STAT命令,我们可以看到超过3的STAT命令不可用,只能通过以下方法来解决。



复制代码代码如下所示:

< PHP

$ outfile = shell_exec(/ usr /斌/ varnishstat X );

XML = simplexml_load_string美元($文件);

echo $ XML -> getName()。

foreach($ XML ->儿童()为孩子)

{

/ / tmpname美元=;

foreach($孩子->儿童()subchild美元)

{

如果($ subchild -> getName)=(名称)

{

tmpname = subchild美元美元;

}

如果($ subchild -> getName)=(价值)

{

如果(tmpname美元!

{

$阿雷斯{tmpname美元} = $ subchild;

tmpname美元= ;

}

}

其他的

{

继续;

}

}

}

功能bytereduce($字节)

{

如果($字节> 1099511627776)

{

返回圆($字节/ 1099511627776)。TB;

}

否则如果($字节> 1073741824)

{

返回圆($字节/ 1073741824)。GB;

}

否则如果($字节> 1048576)

{

返回圆($字节/ 1048576)。MB;

}

否则如果($字节> 1024)

{

返回圆($字节/ 1024)。KB;

}

其他的

{

返回$字节。B;

}

}

回声client_conn:,client_conn美元阿雷斯{}。;

回声client_req:,client_req美元阿雷斯{}。;

回声cache_hit:,cache_hit美元阿雷斯{}。;

回声cache_miss:,cache_miss美元阿雷斯{}。;

回声缓存命中率:。圆(($阿雷斯{cache_hit}或{client_req阿雷斯美元))* 100)。%;

回声LRU核爆的对象:n_lru_nuked } { $阿雷斯。;

回声。bytereduce ($阿雷斯{s_bodybytes} + $阿雷斯{s_hdrbytes )。ACC(。bytereduce ($阿雷斯{s_hdrbytes )}。。bytereduce (侯)。

>





结果如下:







ps:可以向监控页面添加HTML时间刷新,查看实时情况。

好的,所以我们随时都可以看到清漆的状态。