最近のWebシステム開発ではキャッシュサーバを用いることが多くなってきている。通常、ボトルネックになりやすいファイルへの読み書きやデータベース接続のコストが、メモリを使うことで大幅に軽減される。ハードウェアを過分に増強せずとも、メモリを増設してmemcachedを使うだけでずいぶんパフォーマンスが向上する。

ピクチャ 110.png

memcachedのデータが一覧できる

 

しかし開発の時点でmemcachedを使っていると、きちんとデータが入っているか、またはどちらを参照しているのか分からなくなることがある。そのような時に使えるのがmcinsightだ。

今回紹介するフリーウェアはmcinsight、memcachedサーバ&フロントエンドだ。Githubにてソースコードは公開されているが、ライセンスは明記されていないのでご注意いただきたい。

mcinsightはローカルのmemcachedサーバとして利用する。立ち上げれば自動的に11211ポートを使ってmemcachedサーバになる。後は任意のライブラリからmemcachedへ接続し、データを操作すれば良い。

ピクチャ 109.png

時間が経てばデータは消える

 

データが変化すればmcinsight上で確認できる。入っているデータはHex、テキスト、Rubyオブジェクトとして確認することができる。有効期限をつけておけば、mcinsight上で自動的にカウントダウンが行われ、消失すればメモリからもなくなってしまうのが確認できる。

他にも取得した回数を確認したり、キーや値のサイズを見ることもできる。一通りの処理を行い、より効率的なメモリ管理法を見つけ出すことができるだろう。メモリ上にあるとデータとして見られないため、不安に感じるところがあるがmcinsightを使えばそれは払拭されるだろう。

memcachedは様々な言語に対してライブラリが提供されている。かつメッセージの規定さえあれば共通の授受が可能になる。mcinsightを使い、さらに便利にmemcachedを活用して欲しい。

 

andrewfromcali’s mcinsight at master - GitHub

 http://github.com/andrewfromcali/mcinsight/tree/master