您的位置:首页 > 数据库 > Memcache

来一次 memcache,redis 性能测试大对比,分别测试大字节数和小字节数

2017-03-26 15:47 337 查看
测试环境

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完全落在下风
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: