memcachedを富豪的に使ってたせいなのか、負荷が高い状態になっていたので調べてた。
telnetを使う場合
memcacheプロトコルを直接入力する方法。
$ telnet localhost 11211 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. stats STAT pid 29324 STAT uptime 95496 STAT time 1301136754 STAT version 1.2.2 STAT pointer_size 64 STAT rusage_user 3.868241 STAT rusage_system 6.148384 STAT curr_items 982 STAT total_items 3947 STAT bytes 6095481 STAT curr_connections 1 STAT total_connections 83000 STAT connection_structures 3 STAT cmd_get 9165 STAT cmd_set 3947 STAT get_hits 6500 STAT get_misses 2665 STAT evictions 0 STAT bytes_read 21976238 STAT bytes_written 74918727 STAT limit_maxbytes 33554432 STAT threads 1 END quit Connection closed by foreign host.
cmd_getが起動してから累計のgetの回数、cmd_setがsetの回数です。
他にも "stats slabs", "stats items" などで使用状況を確認したりできます。
各種コマンドスクリプトを使う
memcached-tool
memcached-toolはmemcachedに同梱されているスクリプトです。古いバージョンだと同梱されていないかも。
Perlで書かれたシンプルなコマンドなので、同梱されていない場合は最新版のアーカイブから入手して使うと良いかも。
$ memcached-tool localhost:11211 # Item_Size Max_age 1MB_pages Count Full? 1 96 B 87770 s 1 21 no 2 120 B 3737 s 1 1 no 3 152 B 3622 s 1 1 no 9 600 B 3767 s 1 1 no 10 752 B 3767 s 1 3 no 11 944 B 3767 s 1 2 no 12 1.2 kB 4182 s 1 29 no 13 1.4 kB 4181 s 1 22 no 14 1.8 kB 4183 s 1 55 no 15 2.3 kB 4178 s 1 11 no 16 2.8 kB 4177 s 1 20 no 17 3.5 kB 4185 s 2 427 no 18 4.4 kB 4184 s 1 113 no 19 5.5 kB 4181 s 1 38 no 20 6.9 kB 4185 s 1 98 no 21 8.7 kB 4185 s 1 72 no 22 10.8 kB 4179 s 1 29 no 23 13.6 kB 4182 s 1 19 no 24 16.9 kB 4185 s 1 16 no 32 101.1 kB 3829 s 1 1 no 40 1024.0 kB 96065 s 3 3 yes
引数としてstatsなどを指定すると、statsの結果を表示してくれたりします。
watchコマンドと組み合わせて監視するなどして使うと便利かも。
$ watch -n 1 memcached-tool localhost:11211 stats
これだと1秒ごとにコマンドを実行して結果表示。