利用php怎么监控varnish缓存服务器的状态-创新互联
本篇文章为大家展示了利用php怎么监控varnish缓存服务器的状态,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
创新互联公司长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为黔江企业提供专业的网站建设、成都做网站,黔江网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。系统:centos 5.x
软件:varnish-3.0.x
ps:3.0以下的版本可以通过Socket连接到Varnish管理端口,通过stat命令查看,3.0以上没有stat命令,只能通过下面的方法解决。
复制代码 代码如下:
$outfile=shell_exec("/usr/bin/varnishstat -x");
$xml=simplexml_load_string($outfile);
echo $xml->getName() . "
";
foreach($xml->children() as $child)
{
//$tmpName="";
foreach($child->children() as $subChild)
{
if ($subChild->getName() =="name" )
{
$tmpName=$subChild;
}
else if ($subChild->getName() =="value" )
{
if ($tmpName!="")
{
$arys["$tmpName"]=$subChild;
$tmpName="";
}
}
else
{
continue;
}
}
}
function byteReduce($bytes)
{
if ($bytes>1099511627776)
{
return round($bytes/1099511627776)."TB";
}
else if ($bytes > 1073741824)
{
return round($bytes/1073741824)."GB";
}
else if ($bytes>1048576)
{
return round($bytes/1048576)."MB";
}
else if ($bytes>1024)
{
return round($bytes/1024)."KB";
}
else
{
return $bytes."B";
}
}
echo "client_conn: ".$arys["client_conn"] . "
";
echo "client_req: ".$arys["client_req"] . "
";
echo "cache_hit: ".$arys["cache_hit"] . "
";
echo "cache_miss: ".$arys["cache_miss"] . "
";
echo "Cache hit rate: ".round(($arys["cache_hit"]/$arys["client_req"])*100)." %
";
echo "LRU nuked objects: ".$arys[n_lru_nuked]."
";
echo " ".byteReduce($arys["s_bodybytes"]+$arys["s_hdrbytes"])." Acc Content (".byteReduce($arys["s_hdrbytes"])." header ".byteReduce($arys["s_bodybytes"])." Body)";
?>
效果如下:
上述内容就是利用php怎么监控varnish缓存服务器的状态,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。
分享标题:利用php怎么监控varnish缓存服务器的状态-创新互联
本文网址:http://cdiso.cn/article/cecggp.html