PHP Memcached Extension をより軽量高速にしてみるテスト

php-memcached-dev/php-memcachedをforkしたmsgpack-and-snappyブランチで、シリアライズ方式にMessagePackを、圧縮方式にSnappyを選べるようにした。→GitHub

MessagePackを使うにはPECL msgpackをインストールした上で、configureのオプションに --enable-memcached-msgpack を、Snappyを使うにはSnappyをインストールした上で --with-snappy-dir を付ければよい。

MacPortsでライブラリを入れている場合の例:

phpize
./configure \
    --enable-memcached \
    --enable-memcached-msgpack \
    --with-libmemcached-dir=/opt/local \
    --with-snappy-dir=/opt/local \
    --with-zlib-dir=/opt/local
make
make install

今のところMessagePackシリアライザはデフォルトで有効に、Snappyコンプレッサは Memcached::setOption(Memcached::OPT_COMPRESSION_TYPE, Memcached::COMPRESSION_SNAPPY) で有効にする仕様。

もうちょい寝かしたら本家にpull requestを送る。

MessagePack+Snappyと、その他の組み合わせでベンチマークを取ってくださるお方を募集しております。