来一次 memcache,redis 性能测试大对比,分别测试大字节数和小字节数
测试环境1.服务器,一台i7的pc2.测试使用语言 python测试代码用python很简单,有不足部分,欢迎大神指正#coding=utf8import multiprocessingfrom redis import Redisimport configimport timeimport sysclass Monitor(multiproc
·
测试环境
1.服务器,一台i7的pc
2.测试使用语言 python
测试代码用python很简单,有不足部分,欢迎大神指正
#coding=utf8
import multiprocessing
from redis import Redis
import config
import time
import sys
class Monitor(multiprocessing.Process):
def __init__(self,completed_queue):
multiprocessing.Process.__init__(self)
self.completed_queue = completed_queue
self.completed_count = 0
def run(self):
start = time.time()
while True:
next_task = self.completed_queue.get()
self.completed_count += 1
spend = time.time()-start
sys.stdout.write("%dqps\r"%(self.completed_count/spend,))
sys.stdout.flush()
class RedisQpsTest(multiprocessing.Process):
def __init__(self,completed_queue):
multiprocessing.Process.__init__(self)
self.completed_queue = completed_queue
def run(self):
self.conn = Redis(**config.redis)
for i in range(1000000):
result = self.conn.get('wx_access_token')
self.completed_queue.put(1)
completed_queue = multiprocessing.Queue()
p4 = Monitor(completed_queue)
p4.start()
for i in range(int(sys.argv[1])):
p = RedisQpsTest(completed_queue)
p.start()
分别对一个小字符串,比如微信的token,还有一个比较大的json(6252个字节)串进行测试
测试结果如下,微信token取 qps,测试脚本放在另外一台服务器上
测试结果如下,大json取 qps 这里在本地测试,因为字符串太大,带宽占了比较大的因素,所以测试脚本没有放别的服务器上
结果还是很意外的,
memcache完全落在下风
更多推荐
已为社区贡献2条内容
所有评论(0)