一、etcd警告 "应用条目耗时过长 "是什么意思?
在大多数etcd成员同意提交请求后,每个etcd服务器将请求应用于其数据存储,并将结果持久化到磁盘。即使是慢速的机械磁盘或虚拟化的网络磁盘,如亚马逊的EBS或谷歌的PD,应用一个请求的时间通常应少于50毫秒。如果平均应用时间超过100毫秒,etcd将警告说条目应用时间过长。
通常情况下,这个问题是由缓慢的磁盘引起的。磁盘可能正在经历etcd和其他应用程序之间的竞争,或者磁盘的速度太慢(例如,一个共享的虚拟化磁盘)。为了排除导致该警告的慢速磁盘,监控backend_commit_duration_seconds(p99持续时间应小于25ms)以确认磁盘是合理的快速。如果磁盘太慢,给etcd分配一个专用磁盘或使用更快的磁盘通常会解决这个问题。
二、CPU性能不足。
如果对机器的CPU使用情况的监测显示使用率很高,可能没有足够的计算能力给etcd。将etcd移到专用机器上,增加进程资源隔离cgroups,或者将etcd服务器进程的优先级提高,通常可以解决问题。访问太多密钥的昂贵的用户请求(例如,获取整个密钥空间)也会导致长时间的应用延迟。然而,每个请求访问少于几百个键,应该总是很好的。
如果上述建议都不能清除警告,请开一个问题,并提供详细的日志、监控、指标和可选的工作量信息。
三、etcd的警告 "未能按时发送心跳 "是什么意思?
etcd使用一个基于领导者的共识协议来实现一致的数据复制和日志执行。集群成员选出一个领导者,所有其他成员成为追随者。当选的领导者必须定期向其追随者发送心跳以维持其领导地位。如果在选举间隔内没有收到心跳,追随者会推断领导者失败,并触发选举。如果领导者没有及时发送心跳,但仍在运行,那么选举是虚假的,可能是由资源不足引起的。为了捕捉这些软故障,如果领导者跳过两个心跳间隔,etcd将警告它未能及时发送心跳。通常情况下,这个问题是由慢速磁盘引起的。在领导者发送附有元数据的心跳之前,它可能需要将元数据持久化到磁盘上。磁盘可能在etcd和其他应用程序之间遇到了争夺,或者磁盘太单纯的慢(例如,一个共享的虚拟化磁盘)。为了排除一个慢的磁盘导致这个警告,监控wal_fsync_duration_seconds(p99持续时间应该小于1

etcd警告包括条目应用耗时过长、CPU性能不足、未能按时发送心跳和快照时间过长。这些问题可能由慢速磁盘、CPU资源不足、网络延迟或高吞吐量导致。解决办法包括使用专用磁盘、增加CPU资源、优化网络和调整配置参数。若问题持续,建议收集详细信息并报告。
最低0.47元/天 解锁文章
9093

被折叠的 条评论
为什么被折叠?



