云服务器内容精选

  • RES07-03 监控到异常后发送 消息通知 当对应用系统监控发现应用异常后,需要向相应的人员和系统发送实时通知消息和告警,以便及时处理。 风险等级 中 关键策略 采用实时快捷的消息通知方式,以便相关人员能及时得到消息。 消息发送人员需要涵盖运维人员,以便及时恢复。 运维人员需要有备份,避免单点风险。 SMN 消息通知服务可依据用户需求主动推送通知消息,方式可为短信、电子邮件等。 CES AOM CTS APM 、LTS等服务均已经对接SMN消息通知服务,在阈值规则发生变化时,可以以邮件或短信等方式通知,以便您在第一时间发现异常并进行处理。 相关云服务和工具 消息通知服务 SMN 云运维中心 COC:支持人员管理、排班管理和通知管理,可以根据通知规则自动将消息发送给要通知的人员。 父主题: RES07 监控告警
  • RES07-05 端到端跟踪请求消息 端到端跟踪请求消息的处理流程,便于分析和调试问题,并提高处理性能。 风险等级 低 关键策略 消息跟踪需要包含消息处理流程中所有组件,以便跟踪结果完整,从而进行准确分析和定位。 相关云服务和工具 应用性能管理 APM :支持调用链追踪,能够针对应用的调用情况,对调用进行全方面的监控,可视化地还原业务的执行路线和状态,协助性能及故障快速定位。 在查询后的调用链列表中,单击待查看的调用链的链接,查看该调用链基本信息。 调用链详情页面可以查看调用链的完整链路信息,包含本地方法堆栈和相关远程调用的调用关系。 调用链与日志关联,提高用户体验。用户可以从调用链直接跳转LTS查看日志。 父主题: RES07 监控告警
  • 查看Redis实例实时并发连接数 当您需要查看D CS 实例收到的实时连接数时,在控制台缓存管理页面,单击需要查看的实例右侧的“查看监控”,进入 云监控 页面。 图1 查看监控 进入监控页面后,找到“活跃的客户端数量”监控项。您可以单击该监控项的右上角的查看按钮,使用大图模式查看。 在弹出的“活跃的客户端数量”页面,根据需要选择查看的时间段,例如,需要查看10分钟内的连接数,您可以将时间自定义为10分钟。由于监控数据采集的是周期内增加的连接数,您可以通过监控图表,查看这个时间段的连接数的走势,并统计10分钟内的连接总数。 监控指标“活跃的客户端数量”用于统计已连接的客户端数量,包括系统监控、配置同步和业务相关的连接数,不包括来自从节点的连接。 您还可以通过控制台会话管理,查看连接实例的客户端会话信息。
  • 是否存在Redis的持久化重写操作 除单机及单副本Cluster集群实例外,华为云其他Redis实例默认开启AOF数据落盘,实例开启了AOF持久化功能后,会定期进行AofRewrite的磁盘整理,AOF磁盘持久化整理一般在以下2种场景执行: 数据量写入不大,AOF文件不大时,固定在每天的凌晨1-4点进行AOF持久化重写。所以容易出现这个时间点实例CPU使用率超高的现象。 数据量写入过大,AOF文件大小超过阈值(缓存实例容量的3-5倍)时,不论当前的所处的时间,会自动触发后台AOF持久化重写。 Redis的持久化重写操作(Bgsave或Bgrewriteaof)比较消耗CPU资源(请参考为什么使用Fork执行Bgsave和Bgrewriteaof),Bgsave和Bgrewriteaof会调用系统的Fork机制,造成CPU短暂时间冲高。 如果客户没有需要用到持久化功能,建议将该功能关闭(请根据实际业务慎重操作,关闭持久化功能会导致极端故障场景下恢复时,由于没有落盘造成的数据丢失)。关闭操作:在实例详情页面,选择“配置参数”页签,将“appendonly”修改为“no”。
  • 查找并禁用高消耗命令 使用了keys等消耗资源的命令,高消耗资源的命令即时间复杂度为O(N)或更高的命令,通常情况下,命令时间复杂度越高,在执行时消耗的资源越高,这会导致CPU使用率超高,容易触发主备倒换。关于各命令对应的时间复杂度信息请参见Redis官网。例如,使用了keys等消耗资源的命令,导致CPU超高,建议客户改成scan命令或者禁用keys命令。 通过性能监控功能,确认CPU使用率高的具体时间段。 通过下述方法,找出高消耗的命令。 慢查询功能会记录执行超过指定时间阈值的命令,通过分析慢查询的语句和执行时长可帮助您找出高消耗命令,具体操参见慢查询。 通过实例诊断功能,选择CPU冲高的时间点进行诊断后,可以看到报告中的对应时间段命令的执行情况以及CPU耗时百分比,具体操作参见实例诊断。 处理措施。 评估并禁用高风险命令和高消耗命令,例如FLUSHALL、KEYS、HGETALL等。 优化业务,例如避免频繁执行数据排序操作。 可选:根据业务情况,选择下述方法对实例进行调整: 调整实例为读写分离实例,对高消耗命令或应用进行分流。 扩容实例增强实例处理能力。
  • 触发限流(流控)的原因和处理建议 Redis产生流控,说明redis在周期内的使用流量超过该实例规格的最大带宽。流控会导致连接被丢弃,从业务角度可能会造成业务的延迟增大,客户端连接异常等问题。 实例规格对应的最大带宽,可以查看实例规格中对应实例类型的“基准/最大带宽”。 带宽使用率不高时,也有可能有限流,因为带宽使用率是上报周期实时值,一个上报周期检查一次。而流控检查是秒级的,有可能存在上报周期间隔期间,流量有秒级冲高,然后回落,待上报带宽使用率指标时已恢复正常。 对于主备实例: 如果实例一直有流控但是带宽使用率不高,这说明可能存在业务微突发问题,或者大Key热Key问题,建议对实例进行自动诊断分析,优先排除大Key热Key问题。 如果带宽使用率居高不下,说明带宽可能存在超限风险,需要扩容处理。 对于集群实例: 仅有单个或少量几个分片出现流控,则多数为该分片存在大Key热Key问题。 所有或大多数分片同时出现流控或者带宽使用率高的问题,这说明实例的带宽达到了瓶颈,建议扩容实例。 DCS控制台提供了大Key和热Key的分析功能,请参考分析Redis实例大Key和热Key减少大key和热key。 如果用户执行了keys等消耗资源的命令,也可能会导致CPU和带宽使用率增加,从而出现流控。 通过控制台对Redis实例进行调整DCS实例带宽,可解决带宽超限的问题。 父主题: 监控告警
  • 为什么带宽使用率指标会超过100% 带宽使用率基本信息如下: 指标ID 指标名称 含义 取值范围 测量对象&维度 监控周期(原始指标) bandwidth_usage 带宽使用率 当前流量带宽与最大带宽限制的百分比 0-200% 测量对象: Redis 4.0及以上版本 主备、读写分离、集群实例数据节点 测量维度: dcs_cluster_node 1分钟 其中,带宽使用率的计算公式为:带宽使用率=(网络瞬时输入流量+网络瞬时输出流量)/(2*最大带宽限制)* 100%。 该公式中同时计算了网络瞬时输入流量和网络瞬时输出流量,这两个指标值是有统计主从同步的流量的。所以统计的总流量使用量会比正常的业务流量大一些,会发生带宽使用率指标超过100%的情况。 判断当前是否被限流,请使用流控次数这个指标,这个指标值大于0时,表示当前已使用的带宽超过最大带宽限制,产生流控。 限流时,流控次数指标是不统计主从同步流量的,所以有时候会出现带宽使用率指标超过100%,但流控次数为0的情况。 父主题: 监控告警