Redis实例作为更靠近应用服务的数据层,通常会执行较多的数据存取并消耗网络带宽。不同的实例规格对应的最大带宽有所不同,当超过该规格的最大带宽时,将对应用服务的数据访问性能造成影响。

步骤一:查询流量使用率

查询实例在指定时段的流量使用率。具体操作,请参见查看监控数据

本案例中,入流量和出流量的使用率快速上升并持续维持在100%,如下图所示:

说明
  • 通常来说,流量的平均使用率持续保持在80%时需引起注意,可能流量不足。
  • 需关注的监控指标为Intranet In Ratio(入流量使用率)和Intranet Out Ratio(出流量使用率)。
图 1. 流量使用率示例
流量使用率示例

步骤二:优化流量使用率

  1. 调整实例的带宽,降低对业务的影响并获得较长的时间窗口来排查问题。具体操作,请参见手动调整实例带宽
    说明 您也可以开启带宽弹性伸缩,当带宽使用率达到阈值后会自动增加或减少实例的带宽,帮助您轻松应对突发或计划中的流量高峰,专注于业务提升。更多信息,请参见开启带宽弹性伸缩
  2. 当业务的访问量与预期带宽消耗不匹配,例如流量使用率的增长趋势和QPS的增长趋势明显不一致。您可以通过缓存分析功能,发现实例中存在的大Key。具体操作,请参见离线全量Key分析
    对大Key(通常大于10 KB)进行优化,例如将大Key拆分、减少对大Key的访问、删除不必要的大Key等。
    图 2. 大Key分析示例
    大Key分析示例
  3. 对于集群架构的企业版(内存型)实例,可开启代理查询缓存功能(Proxy Query Cache)以应对因热点Key引发的流量过大或倾斜的问题。更多信息,请参见实时Top Key统计通过Proxy Query Cache优化热点Key问题
  4. 可选:对于集群架构的实例,可使用直连模式来应对业务上的网络超大流量。具体操作,请参见开通直连访问
    说明 开启直连后,实例的整体带宽限制变为单个分片的最大带宽*分片数,例如128分片的集群实例,每个分片的最大带宽为96 MB/s,开启直连后整体带宽为12,288 MB/s。
  5. 经过上述步骤优化后,流量使用率依旧较高,可评估升级至更大内存的规格,以承载更大的网络流量。具体操作,请参见变更实例配置
    说明 在正式升级实例的规格前,您可以先购买一个按量付费的实例,测试要升级到的目标规格是否能够满足业务的负载需求,测试完成后可将其释放。关于如何释放实例,请参见释放按量付费实例