以下是一个 memcache 统计信息分析器方法,可用于以易于理解的表格格式打印 memcache 统计信息。
<?php
function printDetails($status){
echo "<table border='1'>";
echo "<tr><td>Memcache 服务器版本:</td><td> ".$status ["version"]."</td></tr>";
echo "<tr><td>该服务器进程的进程 ID </td><td>".$status ["pid"]."</td></tr>";
echo "<tr><td>该服务器运行的秒数 </td><td>".$status ["uptime"]."</td></tr>";
echo "<tr><td>该进程的累积用户时间 </td><td>".$status ["rusage_user"]." 秒</td></tr>";
echo "<tr><td>该进程的累积系统时间 </td><td>".$status ["rusage_system"]." 秒</td></tr>";
echo "<tr><td>自该服务器启动以来存储的总项目数 </td><td>".$status ["total_items"]."</td></tr>";
echo "<tr><td>打开的连接数 </td><td>".$status ["curr_connections"]."</td></tr>";
echo "<tr><td>自服务器启动运行以来打开的总连接数 </td><td>".$status ["total_connections"]."</td></tr>";
echo "<tr><td>服务器分配的连接结构数量 </td><td>".$status ["connection_structures"]."</td></tr>";
echo "<tr><td>检索请求的累计数量 </td><td>".$status ["cmd_get"]."</td></tr>";
echo "<tr><td> 存储请求的累计数量 </td><td>".$status ["cmd_set"]."</td></tr>";
$percCacheHit=((real)$status ["get_hits"]/ (real)$status ["cmd_get"] *100);
$percCacheHit=round($percCacheHit,3);
$percCacheMiss=100-$percCacheHit;
echo "<tr><td>已请求并找到存在的键数 </td><td>".$status ["get_hits"]." ($percCacheHit%)</td></tr>";
echo "<tr><td>已请求但未找到的项目数 </td><td>".$status ["get_misses"]."($percCacheMiss%)</td></tr>";
$MBRead= (real)$status["bytes_read"]/(1024*1024);
echo "<tr><td>该服务器从网络读取的总字节数 </td><td>".$MBRead." 兆字节</td></tr>";
$MBWrite=(real) $status["bytes_written"]/(1024*1024) ;
echo "<tr><td>该服务器发送到网络的总字节数 </td><td>".$MBWrite." 兆字节</td></tr>";
$MBSize=(real) $status["limit_maxbytes"]/(1024*1024) ;
echo "<tr><td>该服务器允许用于存储的字节数。</td><td>".$MBSize." 兆字节</td></tr>";
echo "<tr><td>从缓存中删除以释放新项目内存的有效项目数。</td><td>".$status ["evictions"]."</td></tr>";
echo "</table>";
}
?>
示例用法
<?php
$memcache_obj = new Memcache;
$memcache_obj->addServer('memcache_host', 11211);
printDetails($memcache_obj->getStats());
?>