排查实例流量使用率高的问题

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

步骤一:查询流量使用率

查询实例在指定时段的流量使用率。若您已明确流量突增的时间段,可跳过此步骤,直接查看步骤二:快速排查

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

说明
  • 通常来说,流量的平均使用率持续保持在80%时需引起注意,可能流量不足。

  • 需关注的监控指标为入流量使用率Intranet In Ratio)和出流量使用率Intranet Out Ratio)。

图 1. 流量使用率示例流量使用率示例

步骤二:快速排查

有多种情况可能导致实例流量的突增,您可以根据以下内容逐一进行排查。

说明

在进行排查之前,如遇紧急情况,您可以先手动临时调整实例带宽,以降低对业务的影响,从而获得较长的时间窗口来排查问题。

Key、热key

您可以先通过Top Key统计功能排除是否存在大Key、热Key。若存在,该功能会在控制台展示具体Key信息。

说明

影响:大Key会引发流量突增,而热Key则会引发流量持续上升。

image

  • 若存在大Key,建议按业务逻辑(如用户ID、时间范围)拆分、减少对大Key的访问或删除不必要的大Key等,更多信息请参见Key和热Key

  • 若存在热Key,也建议按业务逻辑拆分,或通过Proxy Query Cache缓存热点Key。

慢请求

您可以通过慢请求查看近期是否执行过慢请求。若存在,该功能会在控制台展示具体命令信息。

说明

影响:慢请求可能会导致后续命令阻塞,同时也会引发带宽流量突增。

若存在,您可以考虑在生产环境禁用KEYSHGETALL等高危命令等。

业务流量增长

若经过上述步骤优化后,流量使用率依旧较高,可以考虑是业务流量的自然增长。您可评估升级至更大内存的规格,或者升级版本架构(例如升级至集群架构或读写分离架构),以承载更大的网络流量。

说明

在正式升级实例的规格前,您可以先购买一个按量付费的实例,测试要升级到的目标规格是否能够满足业务的负载需求,测试完成后可将其释放

若存在周期性的流量高峰,例如每天晚上22:00达到流量高峰,您可以使用带宽弹性伸缩定时升级带宽功能。