表題にありますが、今回Elasticacheが主題ではなく、memcacheの話題となります。

memcacheをレプリケートしたり、クラスタ的に分散して使用していると、どのノードに
どれだけキャッシュされているかわかりづらく、WEB UIで確認するほどの内容でもないので、
簡単な状態チェックツールがあると便利です。

そこで、moongiftさんでも紹介されていたmemcache-topを利用してみました。

○インストール

下図に示したページのダウンロードリンクをコピーします。

そして、コピーしたURLを、memcacheノードのあるセグメント内のホストでPATHの通った場所に
ダウンロードします。
ダウンロードされるのはバイナリ実行ファイルなので、実行権限を与えます。

# cd /usr/local/bin
# curl -OL https://memcache-top.googlecode.com/files/memcache-top-v0.6
# chmod 755 memcache-top-v0.6
# ln -s memcache-top-v0.6 memcache-top

実行時に下記となる場合があります。

Can't locate Time/HiRes.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .)

この場合は、以下のようにライブラリをインストールします。

# yum install -y perl-Time-HiRes

○実行

実行は、主に以下のオプションを使用します。

  • –instances:memcacheノードのIPまたはホスト名をカンマ区切り、もしくは複数オプション
  • –port:ポート番号(デフォルト11211)
  • –sleep:モニタ間隔(デフォルト3秒)

他にもいくつかありますが、利用頻度が高いのは上記3つです。

それでは、以下のように実行します。

$ memcache-top --instances 10.32.11.171,10.32.11.172 --port 11210

memcache-top v0.6 (default port: 11210, color: on, refresh: 3 seconds)

INSTANCE USAGE HIT % CONN TIME EVICT/s READ/s WRITE/s
10.32.11.171:11210 1.5% 93.8% 5 1.0ms 0.0 210 390
10.32.11.172:11210 1.5% 0.0% 5 0.8ms 0.0 221 11.3K

AVERAGE: 1.5% 46.9% 5 0.9ms 0.0 215 5967

TOTAL: 1.9MB/ 0.1GB 10 1.8ms 0.0 431 11.7K
(ctrl-c to quit.)

Elasticacheでも同じように結果の取得ができます。

./memcache-top-v0.6 --instances memorycraft.5horbl.0001.apne1.cache.amazonaws.com,memorycraft.5horbl.0002.apne1.cache.amazonaws.com,memorycraft.5horbl.0003.apne1.cache.amazonaws.com

memcache-top v0.6 (default port: 11211, color: on, refresh: 3 seconds)

INSTANCE USAGE HIT % CONN TIME EVICT/s READ/s WRITE/s
memorycraft.5horbl.0001 0.0% 0.0% 5 2.0ms 0.0 2 367
memorycraft.5horbl.0002 0.0% 0.0% 5 1.8ms 0.0 2 367
memorycraft.5horbl.0003 0.0% 0.0% 5 1.8ms 0.0 2 367

AVERAGE: 0.0% 0.0% 5 1.9ms 0.0 2 367

TOTAL: 244B/ 3.5GB 15 5.6ms 0.0 6 1101
(ctrl-c to quit.)

簡単な状態のモニタリングをするにはとても便利なソフトウェアです。

こちらの記事はなかの人(memorycraft)監修のもと掲載しています。
元記事は、こちら