检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Redis实例内存使用率高问题排查和解决 问题现象 Redis可提供高效的数据库服务,当内存不足时,可能导致Key频繁被逐出、响应时间上升、QPS(每秒访问次数)不稳定等问题,进而影响业务运行。由于Redis自身运行机制(主从同步、延迟释放等),内存占用率可能出现略微超过100%的情况
CPU过高可能会导致连接超时,影响业务。CPU过高也可能触发主备倒换。 可能原因 客户的业务负载过重,QPS过高,导致CPU被用满,排查方法请参考排查QPS是否过高。 使用了keys等消耗资源的命令,排查及处理措施请参考查找并禁用高消耗命令。
CPU过高可能会导致连接超时,影响业务。CPU过高也可能触发主备倒换。 可能原因 客户的业务负载过重,qps过高,导致CPU被用满,排查方法请参考排查QPS是否过高。 使用了keys等消耗资源的命令,排查及处理措施请参考查找并禁用高消耗命令。
创建的缓存实例为什么可使用内存比实例规格少一些? Redis 3.0、Memcached采用虚拟机部署,系统会占用小部分内存。其他版本的实例不会存在该问题。 父主题: Redis使用
Key相关命令使用限制 使用KEYS命令时,若缓存数据量较大,可能会较长时间阻塞其它业务命令操作,甚至可能过高地占用额外内存。因此使用KEYS命令时请尽量描述精确的pattern、不要使用“keys *”进行全通配。keys *会遍历所有数据,持续占用CPU,影响客户业务稳定性。
仅如下实例类型需要预留内存(其他实例类型不涉及): Redis 3.0 单机 Redis 3.0 主备 Memcached 单机 Memcached 主备 未配置足够的预留内存(数据部分占用的内存容量过高),可能会导致: 缓存实例操作速度变慢(系统启用swap,性能下降)。
如何查看Redis内存占用量 当前DCS Redis提供了以下与内存相关的指标。查看监控指标的方式请参考查看性能监控。 表1 Redis实例支持的监控指标 指标ID 指标名称 含义 取值范围 测量对象&维度 监控周期(原始指标) memory_usage 内存利用率 该指标用于统计测量对象的内存利用率
活跃连接数超过{THRESHOLD} 2 cause 瞬时流量过大 3 cause 底层磁盘异常 4 cause 持久化失败 5 cause 内存使用量超过{THRESHOLD} 6 cause 已开启RDB,内存使用量超过{THRESHOLD} 7 cause Redis内部内存碎片率过高
Redis 6.0实例 本节介绍DCS Redis 6.0实例的产品规格,包括内存规格、实例可使用内存、连接数上限、最大带宽/基准带宽、参考性能(QPS)等。 实例各项指标如下: 实例已使用内存:您可以通过查看监控指标“内存利用率”和“已用内存”查看实例内存使用情况。 最大连接数:
网络输入流量过高,写缓冲区溢出,可能导致规格变更失败。 如提示网络输入流量过高,请在业务低峰期进行变更。 CPU利用率检查 检查五分钟内的节点CPU利用率是否过高(>90%)。节点CPU利用率过高时,可能导致规格变更失败。 如提示CPU利用率是否过高,建议在业务低峰期进行变更。
DCS使用规范 业务使用规范 原则 原则说明 备注 就近部署业务,避免时延过大 如果部署位置过远(非同一个region)或者时延较大(例如业务服务器与Redis实例通过公网连接),网络延迟将极大影响读写性能。 如果对于时延较为敏感,请避免创建跨AZ Redis实例。 冷热数据区分
什么是分布式缓存服务 分布式缓存服务(Distributed Cache Service,简称DCS)是华为云提供的一款兼容Redis的高速内存数据处理引擎,为您提供即开即用、安全可靠、弹性扩容、便捷管理的在线分布式缓存能力,满足用户高并发及数据快速访问的业务诉求。 即开即用 DCS
为什么实例实际可用内存比申请规格小而且已使用内存不为0? 由于系统开销会占用部分资源,主备实例的持久化也需要一部分资源,所以Redis 3.0和Memcached实例创建后,缓存实例实际可用内存小于申请规格。除了用户存储数据外,Redis-server内部的buffer以及内部数据结构会占用一部分内存
监控数据出现实例已使用内存略大于实例可使用内存是什么原因? DCS单机和主备实例已使用内存为redis-server进程统计的已使用内存。集群是基于分片机制实现的,集群的已使用内存为各个分片redis-server的已使用内存的总和。 由于开源redis-server内部机制的原因
然后,检查实例是否有大Key和热Key,如果存在大Key或者单个Key负载过大,容易造成对于单个Key的操作占用带宽资源过高。大Key和热Key操作,请参考分析实例大Key和热Key。
然后,检查实例是否有大Key和热Key,如果存在大Key或者单个Key负载过大,容易造成对于单个Key的操作占用带宽资源过高。大Key和热Key操作,请参考分析实例大Key和热Key。
当used_memory_rss/used_memory高于1.5,一般认为内存碎片占比过高,内存利用率低。 因此,合理规划和使用缓存数据,规范数据写入,有助于减少内存碎片的产生。 Redis 3.0及以下:可以通过定期重启服务解决内存碎片问题。
一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。
使用Web CLI快速连接Redis并读写数据 本文将为您介绍分布式缓存服务(DCS)的入门使用流程,以在DCS控制台创建一个Redis 5.0版本的单机类型缓存实例,连接该实例并读写数据为例,指导您快速上手分布式缓存服务。 DCS入门使用流程分为以下三个步骤: 准备工作 在创建Redis
Cluster集群实例容量和性能未达到瓶颈,但某个分片容量或性能已过载是什么原因? 这是由于Cluster集群采用的是分片设计理念,每个具体的Key只能分布到某一个具体的分片节点上,计算Key的分布过程有以下两个步骤: 针对Key值进行CRC16算法计算后对16384取模,得到对应的槽位