Memcache::getStats

(PECL memcache >= 0.2.0)

Memcache::getStats获取服务器的统计信息

说明

Memcache::getStats(string $type = ?, int $slabid = ?, int $limit = 100): array|false

Memcache::getStats() 返回一个包含服务器统计信息的关联数组。数组键对应于统计参数,值对应于参数的值。您也可以使用 memcache_get_stats() 函数。

参数

type

要获取的统计信息类型。有效值为 {reset, malloc, maps, cachedump, slabs, items, sizes}。根据 memcached 协议规范,这些附加参数“可能会发生变化,以方便 memcache 开发人员”。

slabid

type 设置为 cachedump 结合使用,用于识别要从中转储的 slab。cachedump 命令会占用服务器,仅用于调试目的。

limit

type 设置为 cachedump 结合使用,用于限制要转储的条目数量。

返回值

返回一个包含服务器统计信息的关联数组,如果失败则返回 false

参见

添加笔记

用户贡献笔记 4 notes

14
mikael at synd dot info
17 年前
pid 此服务器进程的进程 ID
uptime 此服务器运行的秒数
time 服务器当前的 UNIX 时间
version 此服务器的版本字符串
rusage_user 此进程累计的用户时间
rusage_system 此进程累计的系统时间
curr_items 服务器当前存储的项目数
total_items 自服务器启动以来,此服务器存储的项目总数
bytes 此服务器当前用于存储项目的字节数
curr_connections 开放的连接数
total_connections 自服务器启动运行以来,打开的连接总数
connection_structures 服务器分配的连接结构数
cmd_get 检索请求的累计次数
cmd_set 存储请求的累计次数
get_hits 已请求并找到存在的键数
get_misses 已请求但未找到的项目数
bytes_read 此服务器从网络读取的总字节数
bytes_written 此服务器发送到网络的总字节数
limit_maxbytes 此服务器允许用于存储的字节数。
4
Amiangshu S. Bosu
15 年前
以下是一个 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());
?>
0
niktriant89 at gmail dot com
9 个月前
GitHub 页面上 Memcached 状态命令输出的官方最新解释

https://github.com/memcached/memcached/blob/master/doc/protocol.txt

请检查您的当前版本
-1
匿名
17 年前
此函数的统计输出与 getExtendedStats() 输出相同,只是 getExtendedStats() 提供了所有使用服务器的信息。
To Top