« 2007年08月 | メイン | 2007年10月 »

2007年09月04日

Tugela Cacheを使ってみる

Tugela Cacheとは、MediaWikiの人がつくったMemcachedのストレージをBerkeleyDBに入れ替えたCache Serverです。
使っているとか聞いたことがないですし、情報もすくないです

特徴としては、

  • 既に書いたけど、BDBにデータを保存
  • Cache切れの値を削除するプログラムが別にある
  • Memcachedとプロトコル同じ

あたりでしょうか

インストールには、libeventとBDBのライブラリが必要です。
そんなに迷わないと思われます

$ svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/tugelacache
$ cd tugelacache
$ make
$ sudo cp tugela /usr/local/bin
$ sudo cp tugela-expire /usr/local/bin


テストとして、perlのCache::Memcachedに付属のテストを実行してみます
まず、tugelaの起動オプションを確認

$ /usr/local/bin/tugela -h       
tugela 0.1
-p <num>      port number to listen on
-l <ip_addr>  interface to listen on, default is INDRR_ANY
-d            run as a daemon
-r            maximize core file limit
-u <username> assume identity of <username> (only when run as root)
-m <num>      cache memory to use for items in megabytes, default is 64 MB
-c <num>      max simultaneous connections, default is 1024
-f <file      filename of database
-s <num>          sync this often seconds
-E <num>          expire this often seconds
-v            verbose (print errors/warnings while in event loop)
-vv           very verbose (also print client commands/reponses)
-h            print this help and exit
-i            print dbcached and libevent license


とりあえずmemcachedと同じ11211portで起動してみます

$ /usr/local/bin/tugela -f /path/to/db -p 11211 -vv


Cache::Memcachedをダウンロードしてきて、その中のテストを実行します

$ wget http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/Cache-Memcached-1.24.tar.gz
$ tar zxf Cache-Memcached-1.24.tar.gz
$ cd Cache-Memcached-1.24
$ prove t/02_keys.t
t/02_keys....ok                                                              
All tests successful.
Files=1, Tests=10,  0 wallclock secs ( 0.21 cusr +  0.03 csys =  0.24 CPU)

標準的なtestは全部通るようです。
ただ統計取得の03_stats.tは動きません。


特徴の1つにexpireのプログラムがありますが、こちらは、

/usr/local/bin/tugela-expire -P 11211 -f /path/to/db -v

を定期的に実行すれば良いようです。


さてさて、使えるかなー。