redis和ssdb的简单性能测试

公司的缓存服务是redis和ssdb搭配使用的。

ssdb是跟redis类似的缓存服务器。但是redis是基于内存的,ssdb是基于文件系统的。这是ssdb的一大亮点。在ssdb的官网上看到二者的性能相差无几,于是在公司的一台测试机上对二者的性能做了一下简单测试。

测试内容为:10w次set,get,hset,hget请求所花费的时间。

redis和ssdb的简单性能测试

虽然没有像官网那么出色,但是也不错了。

测试代码如下:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import redis
from ssdb import SSDB
import time
r = redis.Redis(host='localhost', port=6379)
s = SSDB(host='localhost', port=8888)
def testRedisSet():
    count=0
    start=time.time()
    while count<100000:
        r.set("test","xxxxxxxxxxxxxxxxxxxxx")
        count=count+1
    print "redis set:%f s"%(time.time()-start)
def testSsdbSet():
    count=0
    start=time.time()
    while count<100000:
        s.set("test","xxxxxxxxxxxxxxxxxxxxx")
        count=count+1
    print "ssdb set:%f s"%(time.time()-start)
def testRedisGet():
    count=0
    start=time.time()
    while count<100000:
        r.get("test")
        count=count+1
    print "redis get:%f s"%(time.time()-start)
def testSsdbGet():
    count=0
    start=time.time()
    while count<100000:
        s.get("test")
        count=count+1
    print "ssdb get:%f s"%(time.time()-start)
def testRedisHSet():
    count=0
    start=time.time()
    while count<100000:
        r.hset("htest","htest","xxxxxxxxxxxxxxxxxxxxx")
        count=count+1
    print "redis hset:%f s"%(time.time()-start)
def testSsdbHset():
    count=0
    start=time.time()
    while count<100000:
        s.hset("htest","htest","xxxxxxxxxxxxxxxxxxxxx")
        count=count+1
    print "ssdb hset:%f s"%(time.time()-start)
def testRedisHget():
    count=0
    start=time.time()
    while count<100000:
        r.hget("htest","htest")
        count=count+1
    print "redis hget:%f s"%(time.time()-start)
def testSsdbHget():
    count=0
    start=time.time()
    while count<100000:
        s.hget("htest","htest")
        count=count+1
    print "ssdb hget:%f s"%(time.time()-start)

    
    
    
if "__main__"==__name__:
    print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    testRedisSet()
    testSsdbSet()
    print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    testRedisGet()
    testSsdbGet()
    print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    testRedisHSet()
    testSsdbHset()
    print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    testRedisHget()
    testSsdbHget()
    print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"


你可能感兴趣的:(redis和ssdb的简单性能测试)