note 89603 modified in function.memcache-getstats by danbrown

From: Date: Sat, 19 Jun 2010 14:32:45 +0000
Subject: note 89603 modified in function.memcache-getstats by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-170308@lists.php.net to get a copy of this message
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()); ?> --was-- 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()); ?> http://php.net/manual/en/function.memcache-getstats.php

« previous php.notes (#170308) next »