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

Redis 2.6 Redis 2.8 与ssdb的简单对比

2015-11-24 10:11 555 查看
根据Redis 两个版本的测试结果对比得出以下结论

一、Redis 2.6主从同步在网络闪断的情况下会自动开启新的端口进行重新链,同时会进行一下操作:

1、断开链接的从会向主发送SYNC命令

2、然后主fork进程导出rdb文件发送到从

3、从接收到完整的数据后,清空Redis内数据然后在从RDB中恢复

但是根据测试结果发现以下问题:

1、多个主从关系同时断开的时候,主导出RDB文件时,会占用大量内存

2、从接收到完整数据后,恢复数据的时候,会清空数据,这时候由于Redis数据量很大,目前10G左右内存恢复速度大约1分钟左右,这一分钟内,很多请求无法获取数据

3、在从RDB恢复数据的过程中,部分请求会被阻塞,导致请求超时(目前报警无法获取数据根次有关)

二、Redis 2.8.8 没有发现以上问题,因为Redis 2.8链接闪断重新连接后,从会从断开之前的主从同步进度开始继续同步,不会有全量恢复的问题

三、Redis 2.8 和 Redis 2.6 在进行save操作的时候,save过程中所有的请求都会被阻塞,导致前端请求失败,所以不要再查询的从上进行save操作

根据以上得出建议:

1、Redis 升级到 2.8 以上,保证数据主从同步时候的可用性

2、不要直接在Redis从或主上进行save操作,可以按王彬的建议在关键节点增加新的从用于save备份使用

3、建议优化Redis存储,单个端口存储数据不要过大,这样可以保证单个端口挂掉数据数据时候的速度,和影响面积

Redis 2.8和SSDB性能对比

SSDB 1.6.8.6

顺序写 : 1.645 ms/op 59.4 MB/s

随机写 : 1.679 ms/op 58.2 MB/s

顺序读 : 1.286 ms/op 75.9 MB/s

随机读 : 1.225 ms/op 79.7 MB/s

rpush : 1.546 ms/op 63.2 MB/s

lpop : 1.303 ms/op 74.9 MB/s

Redis 2.8.8

顺序写 : 1.617 ms/op 60.4 MB/s

随机写 : 1.214 ms/op 80.4 MB/s

顺序读 : 1.156 ms/op 84.5 MB/s

随机读 : 1.153 ms/op 84.7 MB/s

rpush : 1.222 ms/op 79.9 MB/s

lpop : 1.153 ms/op 84.7 MB/s

以下测试,是测试的某个业务接口,所以不代表Redis的性能,需要由以下多种情况的对比,来得到结论。

Redis 2.6 直接查询主时候的 压测信息

?
Redis 2.6 直接查询主并且有从正在wait_bgsave时候的 压测信息

?
Redis 2.6 查询从时候的 压测结果

?
Redis 2.6 查询从并且 由于网络闪断 正在与主进行 同步操作

?
Redis 2.8.8 查询从时候的 压测结果

?
Redis 2.8.8 查询从并且 由于网络闪断 正在与主进行 同步操作

?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: