云数据库 Tair(兼容 Redis)实例作为更靠近应用服务的数据层,通常会执行较多的数据存取并消耗网络带宽。不同的实例规格对应的最大带宽有所不同,当超过该规格的最大带宽时,将对应用服务的数据访问性能造成影响。
步骤一:查询流量使用率
查询实例在指定时段的流量使用率。具体操作,请参见查看性能监控。
本案例中,入流量和出流量的使用率快速上升并持续维持在100%,如下图所示:
通常来说,流量的平均使用率持续保持在80%时需引起注意,可能流量不足。
需关注的监控指标为Intranet In Ratio(入流量使用率)和Intranet Out Ratio(出流量使用率)。
步骤二:优化流量使用率
调整实例的带宽,降低对业务的影响并获得较长的时间窗口来排查问题。具体操作,请参见手动增加实例带宽。
当业务的访问量与预期带宽消耗不匹配,例如流量使用率的增长趋势和QPS的增长趋势明显不一致。您可以通过缓存分析功能,发现实例中存在的大Key。具体操作,请参见离线全量Key分析。
对大Key(通常大于10 KB)进行优化,例如将大Key拆分、减少对大Key的访问、删除不必要的大Key等。
对于集群架构的Tair(企业版)内存型实例,可开启代理查询缓存功能(Proxy Query Cache)以应对因热点Key引发的流量过大或倾斜的问题。更多信息,请参见实时Top Key统计、通过Proxy Query Cache优化热点Key问题。
可选:对于集群架构的实例,可使用直连模式来应对业务上的网络超大流量。具体操作,请参见开通直连访问。
说明开启直连后,实例的整体带宽限制变为单个分片的最大带宽*分片数,例如128分片的集群实例,每个分片的最大带宽为96 MB/s,开启直连后整体带宽为12,288 MB/s。
经过上述步骤优化后,流量使用率依旧较高,可评估升级至更大内存的规格,以承载更大的网络流量。具体操作,请参见变更实例配置。
说明在正式升级实例的规格前,您可以先购买一个按量付费的实例,测试要升级到的目标规格是否能够满足业务的负载需求,测试完成后可将其释放。关于如何释放实例,请参见释放按量付费实例。