检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
过5000个。 Key的命名前缀为业务缩写,禁止包含特殊字符(比如空格、换行、单双引号以及其他转义字符)。 Redis事务功能较弱,不建议过多使用。 短连接性能差,推荐使用带有连接池的客户端。 如果只是用于数据缓存,容忍数据丢失,建议关闭持久化。 大Key/热Key的优化方法,请参考下表。
含多个a元素。 适当的重试次数与间隔 根据业务需求和实际场景调整适当的重试次数与间隔,否则可能引发下述问题: 如果重试次数不足或间隔太长,应用程序可能无法完成操作而导致失败。 如果重试次数过大或间隔过短,应用程序可能会占用过多的系统资源,且可能因请求过多而堵塞在服务器上无法恢复。
100%的情况。 判断当前是否被限流,请使用流控次数这个指标,这个指标值大于0时,表示当前已使用的带宽超过最大带宽限制,产生流控。 限流时,流控次数指标是不统计主从同步流量的,所以有时候会出现带宽使用率指标超过100%,但流控次数为0的情况。 父主题: 监控告警
移超时失败,Key越大失败的概率越高,大于512MB的Key可能会触发该问题。 造成数据迁移失败。 数据迁移过程中,如果一个大Key的元素过多,则会阻塞后续Key的迁移,后续Key的数据会放到迁移机的内存Buffer中,如果阻塞时间太久,则会导致迁移失败。 容易造成集群分片不均的情况。
作监控能力,帮助用户对每个DCS实例进行自动实时监控、告警和通知操作。用户可以实时掌握实例的各类业务请求、资源占用、带宽、并发操作数和流控次数等关键信息。 关于DCS支持的监控指标,以及如何创建监控告警规则等内容,请参见监控。 父主题: 安全
Redis实例内存使用率高问题排查和解决 问题现象 Redis可提供高效的数据库服务,当内存不足时,可能导致Key频繁被逐出、响应时间上升、QPS(每秒访问次数)不稳定等问题,进而影响业务运行。由于Redis自身运行机制(主从同步、延迟释放等),内存占用率可能出现略微超过100%的情况,此为正常情
带宽超限导致连接问题 当实例已使用带宽达到实例规格最大带宽,可能会导致部分Redis连接超时现象。 您可以查看监控指标“流控次数”,统计周期内被流控的次数,确认带宽是否已经达到上限。 然后,检查实例是否有大Key和热Key,如果存在大Key或者单个Key负载过大,容易造成对于单个
带宽超限导致连接问题 当实例已使用带宽达到实例规格最大带宽,可能会导致部分Redis连接超时现象。 您可以查看监控指标“流控次数”,统计周期内被流控的次数,确认带宽是否已经达到上限。 然后,检查实例是否有大Key和热Key,如果存在大Key或者单个Key负载过大,容易造成对于单个
出流量)/(2*最大带宽限制) * 100%。 图1 带宽使用率示例 其中,带宽使用率超过100%,不一定导致限流,有没有被流控需要看流控次数指标。 带宽使用率没有超过100%,也有可能有限流,因为带宽使用率是上报周期实时值,一个上报周期检查一次。流控检查是秒级的,有可能存在上报
COUNT选项的作用就是让用户告知迭代命令, 在每次迭代中应该从数据集里返回多少元素。具体参见scan命令介绍。迭代式扫描可降低一次扫描过多key而造成扫描时间过长,影响redis性能的问题。 举例:redis中有1000万个key,迭代扫描key数量设为1000,则迭代10000次可完成全库扫描。
要看流控次数指标。 带宽使用率没有超过100%,也有可能有限流,因为带宽使用率是上报周期实时值,一个上报周期检查一次。流控检查是秒级的。有可能存在上报周期间隔期间,流量有秒级冲高,然后回落,待上报带宽使用率指标时已恢复正常。 流控次数 >=0 告警阈值:>0 连续触发次数:1 告警级别:紧急
.enablePeriodicRefresh(Duration.ofMillis(time)) // MOVED重定向, ASK重定向, 重连, 未知节点(since 5.1), 槽位不在当前所有分片中(since 5.2),当出现这五种情况时会触发自适应刷新
和每秒并发操作数主要区别在于监控周期。每秒并发操作数,统计的是周期内的一个瞬时的处理命令数;处理的命令数,统计的是周期内处理的命令数总和。 流控次数 该指标用于统计周期内流量超过该实例规格对应的最大带宽的次数。 实例规格对应的最大带宽,可以查看实例规格下对应实例类型的“基准/最大带宽”。 慢查询 该指标用于统计实例是否存在慢查询。
#redis cluster密码 spring.redis.password=<password> #redis cluster访问最大重定向次数 spring.redis.cluster.max-redirects=3 #redis 读写超时 spring.redis.timeout=2000
对于集合和列表类的数据结构(例如Hash,Set,List等),避免其中包含过多元素,建议单Key中的元素不要超过5000个。 由于某些命令(例如HGETALL)的时间复杂度直接与Key中的元素数量相关。如果频繁执行时间复杂度为O(N)及以上的命令,且Key中的子Key数量过多容易引发慢请求、分片流量不均或热点Key问题。
配置建议 maxTotal 最大连接,单位:个 根据Web容器的Http线程数来进行配置,估算单个Http请求中可能会并行进行的Redis调用次数,例如:Tomcat中的Connector内的maxConnections配置为150,每个Http请求可能会并行执行2个Redis请求,
数据保护技术 DCS通过多种数据保护手段和特性,保障DCS的数据安全可靠。 表1 DCS的数据保护手段和特性 数据保护手段 简要说明 详细介绍 容灾和多活 根据对数据与服务的不同可靠性要求,您可以选择将缓存实例部署在单可用区内(单机房),或者跨可用区(同城灾备)。 容灾多活策略 副本冗余
数据查询请求次数 该指标用于统计服务收到的数据查询请求次数。 >=0 Memcached实例 1分钟 mc_cmd_set 数据存储请求次数 该指标用于统计服务收到的数据存储请求次数。 >=0 Memcached实例 1分钟 mc_cmd_flush 数据清空请求次数 该指标用于统计服务收到的数据清空请求次数。
redis.cluster.nodes=<ip:port>,<ip:port>,<ip:port> # redis cluster 最大重定向次数 spring.redis.cluster.max-redirects=3 # redis cluster 节点密码 spring.redis
DCS提供单机、主备、集群等丰富的实例类型,满足用户高读写性能及快速数据访问的业务诉求。支持丰富的实例管理操作,帮助用户省去运维烦恼。用户可以聚焦于业务逻辑本身,而无需过多考虑部署、监控、扩容、安全、故障恢复等方面的问题。 DCS基于开源Redis、Memcached向用户提供一定程度定制化的缓存服务,因此,