-
Notifications
You must be signed in to change notification settings - Fork 71
纯内存数据和RAM&SSD混合情况
lijingcheng edited this page Dec 21, 2017
·
1 revision
相同配置服务端、客户机各1台:
CPU: 24 Cores, Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
MEM: 251G DDR4
OS: CentOS Linux release 7.3.1611 (Core)
NETWORK CARD: Intel Corporation I350 Gigabit Network Connection (rev 01)
DISK: Intel® SSD DC S3520 Series 1.6T
set和get
写入1亿个string类型key, value长度为200, redis配置aof持久化.
PS:纯冷数据访问性能参考 Swapdb-In-SSD-Workload-Performance-Benchmarks
TPS | TP50 | TP90 | TP99 | TP999 | TP100 | ||
---|---|---|---|---|---|---|---|
Ssdb(All cache) | Set | 94759.78 | 1 | 2 | 3 | 12 | 32 |
Get | 92919.53 | 2 | 2 | 2 | 3 | 4 | |
Pika(16 worker) | Set | 129701.69 | 1 | 1 | 1 | 3 | 187 |
Get | 157903.05 | 1 | 1 | 1 | 2 | 21 | |
Redis | set | 123152.71 | 1 | 1 | 2 | 2 | 4 |
get | 145201.09 | 1 | 1 | 1 | 1 | 4 | |
Swap(All hot) | Set | 121506.69 | 1 | 1 | 2 | 2 | 3 |
Get | 144864.55 | 1 | 1 | 1 | 2 | 4 |
pipeline | Pika | Redis | Swap |
---|---|---|---|
Set | 239980.81 | 350852.5 | 253164.55 |
Get | 363490.97 | 563126.50 | 555679 |
1亿个key, val长度为200, 1/3数据在redis, 2/3数据在ssdb.
热数据命中率(%) | TPS | TP50 | TP90 | TP99 | TP999 | TP100 | |
---|---|---|---|---|---|---|---|
100 | Set | 121891.75 | 1 | 1 | 2 | 3 | 3 |
Get | 145921.48 | 1 | 1 | 1 | 2 | 4 | |
98.5 | Set | 119617.23 | 1 | 1 | 2 | 2 | 3 |
Get | 144425.19 | 1 | 1 | 1 | 2 | 4 | |
80.6 | Set | 108073.05 | 1 | 2 | 2 | 2 | 4 |
Get | 133511.36 | 1 | 1 | 2 | 2 | 5 | |
67.2 | Set | 94517.96 | 1 | 2 | 4 | 4 | 5 |
Get | 123578.84 | 1 | 2 | 2 | 3 | 4 | |
51.3 | Set | 51797.37 | 1 | 4 | 5 | 6 | 7 |
Get | 105775.33 | 1 | 2 | 2 | 3 | 4 |
% | 100 | 98.5 | 80.6 | 67.2 | 51.3 |
---|---|---|---|---|---|
Set | 251004.02 | 221483.95 | 166861.34 | 98058.45 | 54567.85 |
Get | 553403.44 | 459558.81 | 269614.44 | 173250.17 | 107422.92 |
Memory | 硬盘占用(开启aof持久化) | |
---|---|---|
redis | 27.8G | 23G aof文件 |
Pika | 400M | 16G |
Ssdb | 6.5G | 22G |
Swap(All hot) | 27.8G | 23G aof file |
Swap(All cold) | 7.7G | 19G: Aof file(4G)+ssdb data(15G) |
显然, swapdb访问热数据的性能和redis是基本一致的, 而其冷数据的访问性能虽然大打折扣, 但是也是能满足一定的性能要求, 而且如果某部分冷数据在一段时间访问需求增大时, swapdb可以将其加载成热数据, 其性能也可以在很短的时间内大大提升.
当某部分数据一段时间内访问很少或没有时, swapdb可以将其转存到SSD中, 从而达到节约内存的目的. 因此,对于热数据,swapdb可以满足超高性能访问的要求, 对于冷数据,则将其转存达到节约内存的目的, 在高性能与节约内存成本二者间达到平衡.