predixy:一款吊打众对手的redis代理,你喜欢吗?
来源:互联网 发布:传智播客java视频教程 编辑:程序博客网 时间:2024/05/16 06:29
引言
无论是为了解决redis的高可用问题、还是为了可扩展性、或者是为了维护方便,用一款redis代理都是上佳的选择。在github上有众多开源的redis代理,本文中选取三个流行的,并且各具特色的代理来和本文所要推介的predixy进行对比。
- predixy
- twemproxy
- codis
- redis-cerberus
功能
简单来说,predixy既支持Redis Sentinel也支持Redis Cluster
- 后端为Redis Sentinel监控的一组Redis,功能完全等同于原始Redis
- 后端为Redis Sentinel监控的多组Redis,则有部分功能受限
- 后端为Redis Cluster,功能完全等同于Redis Cluster
性能
作为redis代理,性能不行都不好意思说自己是redis代理,上面提到的四款代理必然都是高性能的,但为了分个高低上下,接下来我们就来做个简单的评测,测试平台如下:
redis-server、各代理、redis-benchmark均在这一台机器上运行。
redis部署:
以下测试的结果中,横坐标为数据大小、纵坐标为qps或者毫秒。
单线程SET/GET测试
测试命令:
$ redis-benchmark -p xxx -t set,get -r 3000 -n 1000000 -d xxx
测试结果:
结果说明:
在吞吐上,predixy大幅领先于另外三款代理,当数据量达到16KB时,由于redis-benchmark本身成为瓶颈,predixy和twemproxy成绩差不多了。在延时上,codis由于语言的问题,一直都大于另外三款代理,后续测试也一样。
单线程PIPELINE SET/GET测试
测试命令:
$ redis-benchmark -p xxx -t set,get -r 3000 -n 5000000 -P 20 -d xxx
测试结果:
结果说明:
redis-benchmark一次pipeline 20个命令,瞬间qps猛增,而predixy在这轮测试中一骑绝尘,遥遥领先另外三个,在数据量大于2048之后,redis-benchmark本身成为瓶颈,才使得predixy的get请求qps降下来。另外值得注意的是,在上轮测试中落后的cerberus在本轮测试一开始表现也远好过twemproxy和codis,随着数据量的变大才逐渐掉队。
双线程PIPELINE SET/GET测试
测试命令:
$ redis-benchmark -p xxx -t set,get -r 3000 -n 10000000 -P 20 -d xxx
测试结果:
结果说明:
由于twemproxy不支持多线程,因此没有参加本轮测试,为了避免redis-benchmark成为瓶颈,在双线程中,我们没有测试单个的SET/GET,而是直接进行PIPELINE测试,测试结果和单线程的PIPELINE结果一样,predixy依然取得领先,在数据量达到2048后,redis-benchmark对predixy来说已经成为瓶颈。本轮cerberus表现也很抢眼,不过还是随着数据量的增大,表现迅速变差。
结论
同另外三款流行的redis代理相比,predixy在功能上更加全面,在性能上更是完胜,这样的一款redis代理,你喜欢吗?
- predixy:一款吊打众对手的redis代理,你喜欢吗?
- 编程字体小汇总,总会有你喜欢的那一款!
- app首页新解读:如何设计总有一款你喜欢的首页
- 喜欢上一款诺基亚的手机,nokia5500
- 呵呵,总有一款发型你会喜欢!
- 你喜欢这样的西瓜吗?
- 你心有喜欢的明星吗??
- 这样的XP皮肤你喜欢吗?
- 你真的喜欢技术吗?
- 我喜欢的你
- 【你会喜欢的~~】
- 你喜欢自己吗?!
- 你喜欢自己吗?
- 你喜欢音乐吗?
- 软件工程师,你真的喜欢你的工作吗?
- 喜欢你的人和你喜欢的人 前面 后面
- 【喜欢你的喜欢,习惯你的习惯。】…
- 真正喜欢你的男孩
- 欧拉--HDU
- 学而不思则罔,思而不学则殆
- restful(一) 简介
- CDI基础入门之Beans解析
- SpEL表达式
- predixy:一款吊打众对手的redis代理,你喜欢吗?
- 欧拉函数
- Simplify Path问题及解法
- 《C Primer Plus 》第六版 习题 第四章
- mapReducer的测试案例①
- CSS控制段落和文字属性和背景
- NS-3学习笔记 3
- 线程学习经验分享
- 安卓对ascii码按照由大到小排序