tamuraです。
ISUCONでの課題になっていたmemcachedについて始めました。


前提

  • 一般ユーザでのインストールする
  • インストール先はホームディレクトリ下にする ($HOME/devtool/)

libevent

ソースを落として普通にビルドするだけです。

$ wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
$ tar xvzf libevent-2.0.22-stable.tar.gz
$ cd libevent-2.0.22-stable
$ ./configure --prefix=$HOME/devtool/libevent
$ make
$ make install

memcached

libeventのインストール先を指定して普通にビルドするだけです。

$ wget https://memcached.org/files/memcached-1.4.33.tar.gz
$ tar xvzf memcached-1.4.33.tar.gz
$ cd memcached-1.4.33
$ ./configure --prefix=$HOME/devtool/memcached --with-libevent=$HOME/devtool/libevent
$ make
$ make install

起動

普通に

$ memcached

でフォアグランドで動きます。

バックグランドで動かしたい場合は、ソースディレクトリの中にある scripts ディレクトリの中から好きな起動スクリプトを使うとよいです。 これらの起動スクリプトはrootで動かすことが前提なので多少修正が必要です。

動作確認

$ telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is '^]'.
stats
STAT pid 21758
STAT uptime 21
STAT time 1479910581
STAT version 1.4.33
STAT libevent 2.0.22-stable
STAT pointer_size 64
STAT rusage_user 0.019996
STAT rusage_system 0.084987
STAT curr_connections 10
STAT total_connections 11
STAT connection_structures 11
STAT reserved_fds 20
STAT cmd_get 0
STAT cmd_set 0
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 0
STAT get_misses 0
STAT get_expired 0
STAT get_flushed 0
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 7
STAT bytes_written 0
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT time_in_listen_disabled_us 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT malloc_fails 0
STAT log_worker_dropped 0
STAT log_worker_written 0
STAT log_watcher_skipped 0
STAT log_watcher_sent 0
STAT bytes 0
STAT curr_items 0
STAT total_items 0
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT evictions 0
STAT reclaimed 0
STAT crawler_reclaimed 0
STAT crawler_items_checked 0
STAT lrutail_reflocked 0
END
quit
Connection closed by foreign host.

okです。