实例规格说明
2018 年 5 月 31 日之后创建的Redis实例,因系统开销和数据持久化需要占用一部分资源,实例创建需要给系统预留一部分资源,关于预留内存比率可以在创建页面自行修改(需谨慎修改,预留内存不足可能会导致系统故障),网易云官方建议的预留内存数据如下。
1. 官方建议不同实例规格默认的预留内存如下:
内存规格(GB) | reserved-memory-percent | 预留内存(GB) | 实例可用内存(GB) |
1 | 50% | 0.5 | 0.5 |
2 | 25% | 0.5 | 1.5 |
4 | 25% | 1 | 3 |
8 | 25% | 2 | 6 |
16 | 25% | 4 | 12 |
单分片内存规格(GB) | reserved-memory-percent | 预留内存(GB) | 单分片可用内存(GB) |
4 | 25% | 1 | 3 |
8 | 25% | 2 | 6 |
16 | 25% | 4 | 12 |
32 | 25% | 8 | 24 |
2. 实例创建后您也可以在参数管理页面修改预留内存的百分比,如下,修改范围为0-50内的整数
Attention
1.对于集群版修改此参数,即所有分片的预留内存都会生效;
2.如果增加预留内存,相应实例的最大可用内存会减少,Redis会按照设定的数据淘汰策略减少内存中的数据,请注意给业务带来的影响。
关于预留内存(reserved-memory-percent)不足可能会造成的影响:
- 数据备份或AOF重写过程大吞吐写入会受到限制;
- 主从复制buffer会导致系统内存不足,若预留不足,可能出现OOM;
- Redis内存碎片占用额外内存,若预留不足,可能出现OOM;
- 其他特殊情况。
以下是不同规格在预留内存为25%比率下产生写入延时的请求大小,仅供参考:(数据已经达到上限,数据淘汰策略为allkeys-lru,可以一直写入数据。)
- 8G reserve-memory-percent 25%
qps | value | 客户端写入延时 |
5200 | 32 | 0s |
17000 | 32 | 0s |
33000 | 32 | 27s |
3800 | 512 | 22s |
30000 | 512 | 33s |
30000 | 1024 | 47s |
- 4G reserve-memory-percent 25%
qps | value | 客户端写入延时 |
5000 | 32 | 0s |
16000 | 32 | 0s |
33000 | 32 | 5s |
3800 | 512 | 0s |
32000 | 512 | 8s |
30000 | 1024 | 12s |
- 2G reserve-memory-percent 25%
qps | value | 客户端写入延时 |
4300 | 32 | 0s |
12000 | 32 | 0s |
43000 | 32 | 3s |
3000 | 512 | 2s |
35000 | 512 | 4s |
28000 | 1024 | 9s |
- 1G reserve-memory-percent 25%
qps | value | 客户端写入延时 |
5700 | 32 | 0s |
20000 | 32 | 1s |
45000 | 32 | 11s |
3000 | 512 | 2s |
35000 | 512 | 6s |
28000 | 1024 | 6s |