【巡检问题分析与最佳实践】Redis 流控问题

往期分享

RDS MySQL

RDS MySQL 实例空间问题

RDS MySQL 内存使用问题

RDS MySQL 活跃线程数高问题

RDS MySQL 慢SQL问题

RDS MySQL 实例IO高问题

RDS MySQL 小版本升级最佳实践

RDS PostgreSQL

RDS PostgreSQL 实例IO高问题

RDS PostgreSQL 慢SQL问题

RDS PostgreSQL CPU高问题

RDS SQL Server

RDS SQL Server 磁盘IO吞吐高问题

RDS SQL Server CPU高问题

RDS SQL Server 空间使用问题


概述

Redis一般作为更靠近应用服务的数据层,会进行较多数据存取消耗网络带宽。在阿里云的Redis服务中,带宽根据实例规格绑定,当超过规格带宽时会进行带宽流控。当触发流控时应用的带宽流量被限制,容易对应用服务的数据访问性能造成影响,需要引起重视。

关于Redis规格请参考:

https://help.aliyun.com/document_detail/26350.html

判断

可根据控制台-性能监控的实例进/出流量 (Intranet In/Intranet Out)或流量使用率(Intranet In Ratio/Intranet Out Ratio)结合规格来判断流量使用情况。一般而言流量平均使用80%需引起注意。如图1-1:

【巡检问题分析与最佳实践】Redis 流控问题

图1-1

处理

临时扩容

当触发流控时一般的应急处理办法是临时扩容带宽(如图2-1),将带宽临时扩容为规格标准带宽的两倍,时间为7天,这样用户可以有较长时间窗口来优化业务以解决问题。

【巡检问题分析与最佳实践】Redis 流控问题

图2-1

业务优化

当业务访问量与预期带宽消耗不匹配,建议检查实际访问消耗,可使用CloudDBA-缓存分析功能找出大Key(一般大于10KB,可根据业务实际情况定义)加以优化,如去除不必要的大Key访问。缓存分析寻找大Key,如图2-2、2-3:

【巡检问题分析与最佳实践】Redis 流控问题

图2-2


【巡检问题分析与最佳实践】Redis 流控问题

图2-3

扩容规格

当业务优化完成,而实际带宽消耗依旧在原规格下无法满足要求时,则建议升配Redis规格以支持更大的网络流量带宽。

使用Mybase

当Redis固有最高规格依旧无法满足带宽需求时,如单个Redis实例流量需求达到500MB/s,建议可考虑使用Mybase for Redis服务,用户可根据实际需要配置实例的带宽上限。

上一篇:【巡检问题分析与最佳实践】PolarDB MySQL CPU高问题


下一篇:【巡检问题分析与最佳实践】RDS SQL Server CPU高问题