PHP Conference Nagoya 2025

Memcache::getStats

(PECL memcache >= 0.2.0)

Memcache::getStatsLit les statistiques du serveur

Description

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

Memcache::getStats() retourne un tableau associatif avec les statistiques du serveur. Les index du tableau correspondent aux paramètres de statistiques, et la valeur associée est la valeur de ces statistiques. Vous pouvez aussi utiliser la fonction memcache_get_stats().

Liste de paramètres

type

Le type de statistiques à récupérer. Les valeurs valides sont {"reset", "malloc", "maps", "cachedump", "slabs", "items", "sizes". Suivant les spécifications du protocole memcached, ces arguments optionnels sont susceptibles d'être modifiés suivant les besoins des développeurs de memcache.

slabid

Utilisé avec le paramètre type définit à cachedump pour identifier le slab à récupérer. La commande cachedump met à mal le serveur et ne doit être utilisée que dans un but de déboguage.

limit

Utilisé avec le paramètre type définit à cachedump pour limiter le nombre d'entrées à récupérer.

Valeurs de retour

Retourne un tableau associatif des statistiques d'un serveur ou false si une erreur survient.

Voir aussi

add a note

User Contributed Notes 4 notes

up
14
mikael at synd dot info
18 years ago
pid Process id of this server process
uptime Number of seconds this server has been running
time Current UNIX time according to the server
version Version string of this server
rusage_user Accumulated user time for this process
rusage_system Accumulated system time for this process
curr_items Current number of items stored by the server
total_items Total number of items stored by this server ever since it started
bytes Current number of bytes used by this server to store items
curr_connections Number of open connections
total_connections Total number of connections opened since the server started running
connection_structures Number of connection structures allocated by the server
cmd_get Cumulative number of retrieval requests
cmd_set Cumulative number of storage requests
get_hits Number of keys that have been requested and found present
get_misses Number of items that have been requested and not found
bytes_read Total number of bytes read by this server from network
bytes_written Total number of bytes sent by this server to network
limit_maxbytes Number of bytes this server is allowed to use for storage.
up
4
Amiangshu S. Bosu
15 years ago
Here is a memcache stats analyzer method that can be used to print memcache stats in a nice informative tabular format.

<?php

function printDetails($status){

echo
"<table border='1'>";

echo
"<tr><td>Memcache Server version:</td><td> ".$status ["version"]."</td></tr>";
echo
"<tr><td>Process id of this server process </td><td>".$status ["pid"]."</td></tr>";
echo
"<tr><td>Number of seconds this server has been running </td><td>".$status ["uptime"]."</td></tr>";
echo
"<tr><td>Accumulated user time for this process </td><td>".$status ["rusage_user"]." seconds</td></tr>";
echo
"<tr><td>Accumulated system time for this process </td><td>".$status ["rusage_system"]." seconds</td></tr>";
echo
"<tr><td>Total number of items stored by this server ever since it started </td><td>".$status ["total_items"]."</td></tr>";
echo
"<tr><td>Number of open connections </td><td>".$status ["curr_connections"]."</td></tr>";
echo
"<tr><td>Total number of connections opened since the server started running </td><td>".$status ["total_connections"]."</td></tr>";
echo
"<tr><td>Number of connection structures allocated by the server </td><td>".$status ["connection_structures"]."</td></tr>";
echo
"<tr><td>Cumulative number of retrieval requests </td><td>".$status ["cmd_get"]."</td></tr>";
echo
"<tr><td> Cumulative number of storage requests </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>Number of keys that have been requested and found present </td><td>".$status ["get_hits"]." ($percCacheHit%)</td></tr>";
echo
"<tr><td>Number of items that have been requested and not found </td><td>".$status ["get_misses"]."($percCacheMiss%)</td></tr>";

$MBRead= (real)$status["bytes_read"]/(1024*1024);

echo
"<tr><td>Total number of bytes read by this server from network </td><td>".$MBRead." Mega Bytes</td></tr>";
$MBWrite=(real) $status["bytes_written"]/(1024*1024) ;
echo
"<tr><td>Total number of bytes sent by this server to network </td><td>".$MBWrite." Mega Bytes</td></tr>";
$MBSize=(real) $status["limit_maxbytes"]/(1024*1024) ;
echo
"<tr><td>Number of bytes this server is allowed to use for storage.</td><td>".$MBSize." Mega Bytes</td></tr>";
echo
"<tr><td>Number of valid items removed from cache to free memory for new items.</td><td>".$status ["evictions"]."</td></tr>";

echo
"</table>";

}

?>

Sample usage:
<?php

$memcache_obj
= new Memcache;
$memcache_obj->addServer('memcache_host', 11211);
printDetails($memcache_obj->getStats());
?>
up
0
niktriant89 at gmail dot com
1 year ago
Official up to date Memcached explanation of stats command output on the github page:

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

Please check you current version
up
-1
Anonymous
18 years ago
The stats output from this function and what is output from the getExtendedStats() are identical except that getExtendedStats() provides information for all servers used.
To Top