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

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云数据库 Tair(兼容Redis),内存型 2GB
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
简介: Redis一般作为更靠近应用服务的数据层,会进行较多数据存取消耗网络带宽。在阿里云的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:

1.png

图1-1

处理

临时扩容

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

2.png

图2-1

业务优化

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

3.png

图2-2


4.png

图2-3

扩容规格

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

使用Mybase

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

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6月前
|
缓存 NoSQL 安全
Redis 最佳实践 [后端必看]
Redis 最佳实践 [后端必看]
111 0
|
6月前
|
存储 缓存 Java
【Spring原理高级进阶】有Redis为啥不用?深入剖析 Spring Cache:缓存的工作原理、缓存注解的使用方法与最佳实践
【Spring原理高级进阶】有Redis为啥不用?深入剖析 Spring Cache:缓存的工作原理、缓存注解的使用方法与最佳实践
|
6月前
|
NoSQL API Redis
最佳实践|如何使用c++开发redis module
本文将试着总结Tair用c++开发redis module中遇到的一些问题并沉淀为最佳实践,希望对redis module的使用者和开发者带来一些帮助(部分最佳实践也适用于c和其他语言)。
76645 0
|
3月前
|
缓存 NoSQL 算法
【Azure Redis 缓存】Redis导出数据文件变小 / 在新的Redis复原后数据大小压缩近一倍问题分析
【Azure Redis 缓存】Redis导出数据文件变小 / 在新的Redis复原后数据大小压缩近一倍问题分析
|
5月前
|
存储 NoSQL 安全
Redis系列学习文章分享---第十五篇(Redis最佳实践--设计优雅的key+合适的数据结构+持久化如何配置+慢查询问题解决)
Redis系列学习文章分享---第十五篇(Redis最佳实践--设计优雅的key+合适的数据结构+持久化如何配置+慢查询问题解决)
81 1
|
5月前
|
缓存 NoSQL Redis
Python与Redis:提升性能,确保可靠性,掌握最佳实践
Python与Redis:提升性能,确保可靠性,掌握最佳实践
|
4月前
|
缓存 NoSQL Java
Spring Boot整合Redis缓存的最佳实践
Spring Boot整合Redis缓存的最佳实践
|
5月前
|
NoSQL Redis
Redis系列学习文章分享---第五篇(Redis实战篇--优惠券秒杀,全局唯一id 添加优惠券 实现秒杀下单 库存超卖问题分析 乐观锁解决超卖 实现一人一单功能 集群下的线程并发安全问题)
Redis系列学习文章分享---第五篇(Redis实战篇--优惠券秒杀,全局唯一id 添加优惠券 实现秒杀下单 库存超卖问题分析 乐观锁解决超卖 实现一人一单功能 集群下的线程并发安全问题)
127 0
|
6月前
|
缓存 监控 NoSQL
|
6月前
|
消息中间件 存储 NoSQL
Redis开发最佳实践
Redis开发最佳实践
100 0

相关产品

  • 云数据库 Tair(兼容 Redis)
  • 下一篇
    无影云桌面