-
Notifications
You must be signed in to change notification settings - Fork 1.2k
pika vs ssdb
SongZhao edited this page May 4, 2017
·
4 revisions
#pika与ssdb性能对比
相同配置服务端、客户机各1台:
CPU: 24 Cores, Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz
MEM: 198319652 kB
OS: CentOS release 6.2 (Final)
NETWORK CARD: Intel Corporation I350 Gigabit Network Connection
set和get
使用ssdb和pika默认配置(pika配16个worker),客户机执行 ./redis-benchmark -h ... -p ... -n 1000000000 -t set,get -r 10000000000 -c 120 -d 200,通过set和get接口分别对ssdb和pika进行10亿次写入+10亿次读取
ssdb
1000000000 requests completed in 25098.81 seconds
0.52% <= 1 milliseconds
96.39% <= 2 milliseconds
97.10% <= 3 milliseconds
97.34% <= 4 milliseconds
97.57% <= 5 milliseconds
…
98.87% <= 38 milliseconds
...
99.99% <= 137 milliseconds
100.00% <= 215 milliseconds
...
100.00% <= 375 milliseconds
39842.53 requests per second
pika
1000000000 requests completed in 11890.80 seconds
18.09% <= 1 milliseconds
93.32% <= 2 milliseconds
99.71% <= 3 milliseconds
99.86% <= 4 milliseconds
99.92% <= 5 milliseconds
99.94% <= 6 milliseconds
99.96% <= 7 milliseconds
99.97% <= 8 milliseconds
99.97% <= 9 milliseconds
99.98% <= 10 milliseconds
99.98% <= 11 milliseconds
99.99% <= 12 milliseconds
...
100.00% <= 19 milliseconds
...
100.00% <= 137 milliseconds
84098.66 requests per second
ssdb
1000000000 requests completed in 12744.41 seconds
7.32% <= 1 milliseconds
96.08% <= 2 milliseconds
99.49% <= 3 milliseconds
99.97% <= 4 milliseconds
99.99% <= 5 milliseconds
100.00% <= 6 millisecondsj
...
100.00% <= 229 milliseconds
78465.77 requests per second
pika
1000000000 requests completed in 9063.05 seconds
84.97% <= 1 milliseconds
99.76% <= 2 milliseconds
99.99% <= 3 milliseconds
100.00% <= 4 milliseconds
...
100.00% <= 33 milliseconds
110338.10 requests per second
由于pika的设计支持多线程的读写(ssdb仅支持1个线程写,多个线程读),在本测试环境中,pika写性能是ssdb的2.1倍(qps:84098 vs 39842),读性能是ssdb的1.4倍(qps:110338 vs 78465)
ssdb 写延迟分布 0.52%在1ms以内, 97.10%在3ms以内, 而pika 的写延迟分布18.32%在1ms以内, 99.71%在3ms以内. 说明 pika 的写延迟在写入量相同的情况下(10亿)下明显优于ssdb
ssdb 读延迟分布7.32%在1ms以内, 99.49%在3ms以内, 而pika 的84.97%在1ms以内, 99.99%在3ms以内. 说明 pika 的读延迟在读取量相同的情况(10亿)下优于ssdb
所以在本测试环境中,pika 各个方面的性能都优于ssdb
- ssdb的写性能开始还不错(8w~9w),随着写入的持续,速度逐渐降到3w左右,然后一直持续到写入结束;pika的写入速度则相对稳定,全程维持在8w~9w
- 本测试结果仅供参考,大家在使用pika前最好根据自己的实际使用场景来进行针对性的性能测试
- 安装使用
- 支持的语言和客户端
- 当前支持的Redis接口以及兼容情况
- 配置文件说明
- 数据目录说明
- info信息说明
- 部分管理指令说明
- 差异化命令
- Pika Sharding Tutorials
- Pika订阅
- 配合sentinel(哨兵)实现pika自动容灾
- 如何升级到Pika3.0
- 如何升级到Pika3.1或3.2
- Pika多库版命令、参数变化参考
- Pika分片版本命令
- 副本一致性使用说明
- Pika内存使用
- Pika最佳实践
- 整体架构
- 线程模型
- 全同步
- 增量同步
- 副本一致性
- 快照式备份
- 锁的应用
- nemo存储引擎数据格式
- blackwidow存储引擎数据格式
- Pika源码学习--pika的通信和线程模型
- Pika源码学习--pika的PubSub机制
- Pika源码学习--pika的命令执行框架
- Pika源码学习--pika和rocksdb的对接
- pika-NoSQL原理概述
- pika在codis中的探索
- Pika 笔记
- pika 主从同步原理