ogaharu のブログ

ogaharu のバトル記録

memcached-1.5.1 をソースからインストールする

VM 上で memcached を動かす.
用途は性能評価のためなので, 運用ではなくベンチマークを取る目的で進める.

環境は Debian jessie.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.6 (jessie)
Release: 8.6
Codename: jessie


まず, memcached のサイト(http://memcached.org/)からファイルをDLしてくる.

$ cd /usr/local/src/
$ wget http://memcached.org/files/memcached-1.5.1.tar.gz
$ tar -zxvf memcached-1.5.1.tar.gz

 make の前に libevent を入れる.

$ apt-get install libevent-core-2.0-5 
$ apt-get install libevent-dev
$ ./configure --prefix=/usr/local/memcached 
$ make && make test && sudo make install

ちなみに libevent を入れ忘れるとこうやって怒られる. libevent を入れ忘れないように.

$ ./configure --prefix=/usr/local/memcached 
$ make && make test && sudo make install
(中略)
checking for libevent directory... configure: error: libevent is required. You can get it from http://www.monkey.org/~provos/libevent/
If it's already installed, specify its path using --with-libevent=/dir/


とりあえず入ったようなので, 起動. 

 memcached -m 64 -p 11211 -d

オプションは, -m でメモリ量指定, -p でポート指定(default:11211), -d でデーモン化.
詳細はまだ調べてないので, 状況に合わせて変更予定. 

memcachedプロトコルはざっくりこんな感じ

機能 コマンド レスポンス
get get <key>\r\n

VALUE <key> 0 <bytes>\r\n

<data block>\r\n

END\r\n

set

set <key> 0 0 <bytes>\r\n

<data block>\r\n

STORED
delete delete <key>\r\n DELETED

 
telnet で繋いで適当に投げてみる

$ telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is '^]'.
set foo 0 0 3
bar
STORED
get foo
VALUE foo 0 3
bar
END
delete foo
DELETED

動いてるっぽいのでとりあえずOK. 実験目的なので自動起動にはしていない.
次はベンチマークソフトのmemslap周辺について纏めたい.


参考
memcached.org
gihyo.jp
d.hatena.ne.jp