PHP で Varnish キャッシュ サーバーのステータスを監視するにはどうすればよいですか?
リリース: 2016-07-25 08:52:10
-
-
$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;
- }
- elseif ($subChild->getName() =="value" )
- {
- if ($tmpName!="")
- {
- $arys["$tmpName"]=$subChild;
- $tmpName="";
- }
- }
- else
- {
- continue;
- }
- }
- }
- function byteReduce($bytes)
- {
- if ($bytes>1099511627776)
- {
- returnround($bytes/1099511627776)."TB";
- }
- else if ($bytes>1073741824)
- {
- returnround($ 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 "キャッシュ ヒット率: ".round(($arys["cache_hit"]/$arys["client_req"])*100)." %
" ;
- echo "LRU 解除されたオブジェクト: ".$arys[n_lru_nuked]."
";
- echo " ".byteReduce($arys["s_bodybytes"]+$arys["s_hdrbytes"])." Acc Content (".byteReduce($arys["s_hdrbytes"])." header ".byteReduce($arys["s_bodybytes"])." Body)";
- ?>
复制代码
效果,以下の図:
注、リアルタイムの状況を確認するために、コントロール追加中に HTML を更新し、ワニス保存サーバーの状態を随時確認することができます。
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31