企业上云评估参考
更新时间:2025-05-28
1.根据QPS、平均KV长度、数据量评估
1.1 根据QPS、平均KV长度计算需要分片数量
根据如下表格, 大致估算每个分片可以承担的QPS。
- 其中KV长度是key_size+value_size。
- 分片数={总QPS}/{单分片最大QPS}。
平均KV长度 | 命令复杂程度 | 单分片QPS参考 |
---|---|---|
16-64 Bytes | 低(以简单的kv存储为主) | 12w |
16-64 Bytes | 中(使用部分O(n)命令, 如hgetall) | 5w |
16-64 Bytes | 高(使用大量O(n)复杂度命令, 使用复杂lua脚本等) | 2w |
64-256 Bytes | 低(以简单的kv存储为主) | 10w |
64-256 Bytes | 中(使用部分O(n)命令, 如hgetall) | 5w |
64-256 Bytes | 高(使用大量O(n)复杂度命令, 使用复杂lua脚本等) | 2w |
256-1024 Bytes | 低(以简单的kv存储为主) | 4w |
256-1024 Bytes | 中(使用部分O(n)命令, 如hgetall) | 2w |
256-1024 Bytes | 高(使用大量O(n)复杂度命令, 使用复杂lua脚本等) | 1w |
1024-4096 Bytes | - | 5k-1w |
1.2 根据数据量、分片数计算每个分片规格
单分片规格容量 = {数据量} / 0.7 / {分片数}。
- 注意:由于Redis内存中数据结构本身也会占用一定空间, 实际使用中内存用量一般会大于估算量。
2.通过业务压测观察性能指标调整实例规格、分片数量
2.1可以通过实例详情页面中的“监控报警”页面, 实时观察压测时实例性能表现。
2.2重点需要关注的是“分片监控”、“代理监控”两种监控对象, 分别代表Redis节点以及Proxy节点的性能表现。
监控对象 | 指标名称 | 指标值判断 |
---|---|---|
分片监控 | CPU使用率 | |
分片监控 | 网络输出带宽使用率 | 均值> 25%(约对应50MB/s): 考虑增加分片(即使CPU用量低, 也需要考虑增加分片) |
分片监控 | 网络输入带宽使用率 | 均值 > 10%(约对应20MB/s): 考虑增加分片(即使CPU用量低, 也需要考虑增加分片) |
分片监控 | 内存使用率 | 均值 > 70%: 考虑增加规格(增加内存) |
代理监控 | CPU使用率 | |
代理监控 | 采样周期内慢查询次数 | 均值 > 0: 在代理、分片CPU使用率较低的场景, 不应出现慢查询, 可通过热key分析, 大key分析等查看是否有热key、大key。 |
代理监控 | 平均执行时延 | 具体阈值应当由业务确定, 当延时不满足业务需求时, 可从如下几方面进行排查: |
代理监控 | P99执行时延 | 具体阈值应当由业务确定, 当延时不满足业务需求时, 可从如下几方面进行排查: |
代理监控 | 网络输出带宽使用率 | 默认proxy数量=分片数量, 未开启副本只读场景, 平均一个proxy上流量=主节点的流量,当开启副本只读后, proxy上读流量会对应增加, 一般不应超过40%(80MB/s)。 |
代理监控 | 网络输入带宽使用率 | 默认proxy数量=分片数量, 未开启副本只读场景, 平均一个proxy上流量=主节点的流量。当开启副本只读后, proxy上读流量会对应增加, 一般不应超过40%(80MB/s)。 |
代理监控 | 代理上流量均衡: |
CPU使用率、ProxyQPS、实例连接数三个指标, 不同代理上应当尽量一致; 如果差距较大说明不同代理上流量不均衡, 可能会因为单点的高负载导致整体的可用性下降如果出现代理上流量不均衡。 |
-
注意事项:增删分片时需要同时考虑分片监控和代理监控的CPU使用率。
- 代理CPU使用率 >> 分片CPU使用率: 业务流量对代理压力大(一般为kv小, 客户端多的场景), 可联系OP增加代理数量,无需增加分片数量。
- 代理CPU使用率 << 分片CPU使用率: 业务使用高复杂度命令, 不能因为代理CPU使用率低而减少分片。
- 调整实例规格、分片数量可参考: 变更配置