読者です 読者をやめる 読者になる 読者になる

memcacheのstatsコマンドメモ

有効期限前のデータがmemcacheから追い出されていたのでその時のメモ
 
容量が怪しそうなのでstatsでデータを見てみると

$ telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
stats

結果を眺めると・・・・

最初、「bytes」の項目が容量に近かったので容量一杯と判断したが
実はmemcacheは確保したメモリを開放するわけではないので
この値で容量が一杯とは判断できないらしい。
(もしかしたら有効期限切れのデータが詰まっているかもしれないので)
で、見るべきところは「evictions」の項目で有効期限に達してないデータが
memcacheより追い出されたらここの値が増える。
で、原因はやはりmemcache容量不足と判明

pid プロセスID
uptime memcachedの起動時間(秒)
time 現在時刻のタイムスタンプ
version memcacheのバージョン
pointer_size OSが32bit又は64bit
rusage_user プロセスがユーザモードで動作した累計時間?(秒.マイクロ秒)
rusage_system プロセスがカーネルモードで動作した累計時間?(秒.マイクロ秒)
curr_items 現在のデータ数
total_items 累計のデータ数
bytes 現在の使用メモリ
curr_connections 現在のコネクション数
total_connections memcacheの起動からの累計コネクション数
connection_structures memcacheが確保したコネクション構造体数
cmd_get GETコマンド発行の累計
cmd_set SETコマンド発行の累計
get_hits リクエストでキーが見つかった数
get_misses リクエストでキーが見つからなかった数
evictions 容量(メモリ)不足でmemcacheから追い出した回数
bytes_read ネットワークから受信したバイト数
bytes_written ネットワークへ送信したバイト数
limit_maxbytes memcacheの最大容量(バイト)
threads リクエスト当たりに動作するスレッド数

ちなみにstatsの結果の原文は↓で適当に英訳

http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt