PHP Conference Fukuoka 2025

Memcache::getStats

memcache_get_stats

(PECL memcache >= 0.2.0)

Memcache::getStats -- memcache_get_statsObtém estatísticas do servidor

Descrição

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

Memcache::getStats() retorna um array associativo com estatísticas do servidor. Chaves de array correspondem a parâmetros de estatísticas e valores correspondem a valores de parâmetros.

Parâmetros

type

O tipo de estatística a ser buscada. Os valores válidos são {reset, malloc, maps, cachedump, slabs, items, sizes}. De acordo com a especificação do protocolo memcached, esses argumentos adicionais "estão sujeitos a alterações para a conveniência dos desenvolvedores do memcache".

slabid

Usado em conjunto com type definido como "cachedump" para identificar o slab a partir do qual os dados serão despejados. O comando "cachedump" pode sobrecarregar o servidor e deve ser usado estritamente para propósitos de depuração.

limit

Usado em conjunto com type definido como "cachedump" para limitar o número de entradas a serem despejadas.

Valor Retornado

Retorna um array associativo de estatísticas do servidor ou false em caso de falha.

Veja Também

adicionar nota

Notas de Usuários 4 notes

up
13
mikael at synd dot info
19 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
16 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.txtPlease 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