Membase vs memcached vs TokyoTyrant vs Redis

Membaseを入れてみたので、実際にどれくらいの速度が出るのか試してみました。
memcached vs TokyoCabinet vs TokyoTyrant vs Redis - blog.katsuma.tv
この記事のパクリですね。これにMembaseを加えてみた感じです。
クライアントによって速度が変わるのが嫌だったので、すべてPythonのmemcachedクライアントを使って、1万回setを行いその時間を計測してみました。

Membase 1.18884205818
memcached 0.683738946915
TokyoTyrant 0.788640022278
Redis 0.642278909683

思ったよりMembaseが遅い…。って言うかRedis速い。

まとめ

使おう!Redis!APIも豊富だし、レプリケーションとかも簡単らしいよ!


ちなみに今回計測に使ったコードはこちら

# -*- coding: utf-8 -*-
import time
import memcache

def get_message(kbytes):
    return "1234567890" * 100 * kbytes

if __name__ == '__main__':
    # initialize
    server = [
        '11211', #Mmebase
        '11212', #memcache
        '1978', #Tokyo Tyrant + tch
        '6379', #Redis
    ]
    for s in server:
        print s
        mc = memcache.Client(['127.0.0.1:'+ s])
        mc.flush_all()

        message_num  = 10000
        message_size = 1
        message      = get_message(message_size)

        # set
        start_time = time.time()
        for index in range(message_num):
            mc.set(str(index), message)
        end_time = time.time()

        # print progress time
        progress_time = end_time - start_time
        print 'set time: %s' % progress_time