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
を定期的に実行すれば良いようです。
さてさて、使えるかなー。