目的
Web アプリ経由で memcached を利用している箇所があり、memcached に対して不要なアクセスをしていそうな処理がありました。
実際に memcached へのアクセスがどうなっているのかを調べることになりました。
方法
telnet で接続
$ telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
stats コマンドで確認
stats
STAT pid 2734
STAT uptime 19319
STAT time 1529845762
STAT version 1.4.15
STAT libevent 2.0.21-stable
STAT pointer_size 64
STAT rusage_user 0.000000
STAT rusage_system 0.476000
STAT curr_connections 10
STAT total_connections 72
STAT connection_structures 13
STAT reserved_fds 20
STAT cmd_get 145
STAT cmd_set 40
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 85
STAT get_misses 60
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
... 省略
END
リクエスト数に関係ありそうな項目を抜き出してみました。
- get_hits: Cumulative number of retrieval reqs
- cmd_get: Number of keys that have been requested and found present
ここでは、get コマンドを発行した回数の cmd_get の増減を調査しました。
stats の結果の各項目について
下記に記載されていました。
確認後、memcached を終了する
quit
Connection closed by foreign host.