检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
100%。 该公式中同时计算了网络瞬时输入流量和网络瞬时输出流量,这两个指标值是有统计主从同步的流量的。所以统计的总流量使用量会比正常的业务流量大一些,会发生带宽使用率指标超过100%的情况。 判断当前是否被限流,请使用流控次数这个指标,这个指标值大于0时,表示当前已使用的带宽超过最大带宽限制,产生流控。
排查Redis实例带宽使用率高的问题 概述 Redis实例作为更靠近应用服务的数据层,通常会执行较多的数据存取并消耗网络带宽。不同的实例规格对应的最大带宽有所不同,当超过该规格的最大带宽时,会产生流控,流控会导致连接被丢弃,从业务角度可能会造成业务的延迟增大,客户端连接异常等问题
DCS缓存实例都存储着大量关键数据,不论是作为数据库前端缓存,还是作为数据存储引擎,数据的可靠性与服务的连续可用性是DCS服务设计上为客户考虑的核心因素,下图展示了DCS在数据和服务方面的容灾架构设计演进。 图1 DCS容灾架构演进 根据对数据与服务的不同可靠性要求,您可以选择将缓存实例部署在单可用区内(单机房),或者跨可用区(同城灾备)。
失败。应从设计源头上避免此类问题带来的影响。 设计合理的Key中元素的数量。 对于集合和列表类的数据结构(例如Hash,Set,List等),避免其中包含过多元素,建议单Key中的元素不要超过5000个。 由于某些命令(例如HGETALL)的时间复杂度直接与Key中的元素数量相关
怎么放通SYNC和PSYNC命令? 迁移或导入备份数据时,相同的Key会被覆盖吗? Cluster集群实例使用内置key且跨slot的Lua脚本时迁移失败 迁移故障处理 数据迁移失败问题排查 Memcached如何迁移? 是否支持Memcached和Redis之间实例数据的迁移?
这是由于Cluster集群采用的是分片设计理念,每个具体的Key只能分布到某一个具体的分片节点上,计算Key的分布过程有以下两个步骤: 针对Key值进行CRC16算法计算后对16384取模,得到对应的槽位(Slot)值。 根据S槽位(Slot)和分片的映射关系,找到Key具体应该属于的分片,并且进行存取。
该对象为集合类型的大Key,并且需要整存整取:在设计上严格禁止这种场景的出现,因为无法拆分。有效的方法是将该大Key从Redis去除,单独放到其余存储介质上。 该对象为集合类型的大Key,每次只需操作部分元素:将集合类型中的元素分拆。以Hash类型为例,可以在客户端定义一个分拆Key的数量N
Key过大的时候会触发Redis内核对于单Key的迁移限制,造成数据迁移超时失败,Key越大失败的概率越高,大于512MB的Key可能会触发该问题。 造成数据迁移失败。 数据迁移过程中,如果一个大Key的元素过多,则会阻塞后续Key的迁移,后续Key的数据会放到迁移机的内存Buf
Sentinel原理 Redis Sentinel是一个分布式系统,Sentinel的设计基础在于多个Sentinel进程协同工作,这样做的好处有: 只有当多个哨兵一致同意某主节点不可用,才执行故障检测,这能够降低误报的可能性。 即使有些Sentinel进程故障,Sentinel系统也能正常工作,从而抵御故障。
定期删除:由Redis的定时任务函数实现,该函数以一定的频率运行,每次运行时,都从键空间中随机取出一定数量的Key进行检查,并删除其中的过期Key。开源Redis不是每次定时任务都会检查所有的Key,而是随机检查一定数量的Key(默认一次从设置过期时间的Key中随机检查20个,每秒
监控指标中存在已拒绝的连接数是什么原因? 当监控指标中出现“已拒绝的连接数”时,请确认客户端连接数是否已经超过实例的最大连接数限制。 Redis 4.0/5.0/6.0版本的实例,仅在主备、集群和读写分离实例的数据节点中支持查看“已拒绝的连接数”。 查看最大连接数:单击实例名称,
主备实例的只读地址是连接到主节点还是备节点? Redis 4.0及以上版本基础版主备实例的连接信息中,有“连接地址”和“只读地址”。其中,连接地址是连接主备实例的主节点,只读地址是连接主备实例的备节点。 详情可以参考Redis 4.0/5.0/6.0基础版主备实例架构设计。 图1
的查看按钮,使用大图模式查看。 在弹出的“活跃的客户端数量”页面,根据需要选择查看的时间段,例如,需要查看10分钟内的连接数,您可以将时间自定义为10分钟。由于监控数据采集的是周期内增加的连接数,您可以通过监控图表,查看这个时间段的连接数的走势,并统计10分钟内的连接总数。 监控
存缺货,同时提供流畅的用户体验,压力巨大。 可以利用Memcached的incr/decr功能, 在内存中存储商品的库存量, 秒杀的抢单过程主要在内存中完成,速度非常快,抢单成功即得一个订单号,这时再去支付页面完成订单的后续操作。 不适用Memcached的应用场景: 单个缓存对象大于1M
client和无中心的设计方案,对服务器进行分片。 Cluster版Redis集群每种实例规格对应的分片数,如表1所示。 在创建DCS Cluster集群实例时,可以自定义分片大小。如果不自定义分片大小,使用系统默认分片,每个分片的大小=实例规格/分片数,例如,集群规格为48GB的实例,分片
{redis_address}为Redis的连接地址,{redis_port}为Redis的端口,{redis_password}为Redis的连接密码。 在命令返回的结果中,获取所有master节点的IP端口,如下图所示。 配置RedisShake工具 登录弹性云服务器ECS。 在ECS中执行以下命令下载RedisShake。本文以下载2
{redis_address}为Redis的连接地址,{redis_port}为Redis的端口,{redis_password}为Redis的连接密码。 在命令返回的结果中,获取所有master节点的IP端口,如下图所示。 安装RedisShake 登录弹性云服务器ECS。 在ECS中执行以下命令下载RedisShake。本文以下载2
配置Redis客户端重试机制 重试的重要性 无论是客户端还是服务端,都有可能受到基础设施或者运行环境的影响,遇到暂时性的故障(例如瞬时的网络抖动/磁盘抖动,服务暂时不可用或者调用超时等),从而导致Redis操作失败。通过设计完备的自动重试机制可以大幅降低此类故障的影响,保障操作最终能成功执行。
AOF文件重写涉及到以下概念。 重写时间窗:目前该时间窗为凌晨1:00 - 4:59。 磁盘阈值:即磁盘的使用率超过50%,即认为达到阈值。 数据集使用内存:实例的一个监控指标,用于统计Redis中数据集占用的内存。 AOF文件在以下三种情况下会被重写。 如果磁盘达到阈值,无论是否处于时间窗内:当AOF文件大小
到关闭多DB后的Proxy集群中。 如果实例进行了如下内容的变更操作,则实例变更前的备份文件无法恢复到变更后的实例。 实例缩容 集群实例水平扩容 实例类型变更(主备实例变更为读写分离实例除外) 前提条件 已成功申请DCS主备、集群或读写分离缓存实例,且实例处于运行中状态。 实例已有历史数据备份,且备份状态为“成功”。