目录:
(1).版本信息
(2).问题陈述
(3).其他信息
(4).解决方式
(1).版本信息
apisix version:2.8
etcd version:3.5.0
OS:aws linux ami 2
OpenResty / Nginx version:openresty/1.19.9.1
apisix-dashboard version:有两个 , 一个是2.8, 另一个是 2.9.0
(2).问题陈述
问题1:
etcd集群有3个节点,其中两台的cpu load和使用率很高,但是第三台确很低,非常困惑。
node1 and node2:high load and high cpu usage,实际会更高。
node3:load and cpu usage is low
问题2: "put /data_plane/server_info" 有非常多的 "apply request took too long" 错误,一直打。怀疑这个是etcd的load和cpu很高的原因。
这也是很简单的操作啊:
(3).其他信息
etcd cluster 是3个node:etcd cluster is ok. 这个etcd cluster 支持两个 apisix cluster(version: 2.8.0).
(4).解决方式
解决方式也很简单:
disable pulgin "server-info".
然后etcd 的cpu usage 和 load变正常了。我想这是apisix的一个bug,至少是对etcd的不当使用。
所以,会在之后的时间里进行升级到最新版本。apisix的版本升级也是一个麻烦,因为太活跃了,本身也很新,稳定性是一个大问题,而且这个组件极其重要,所以升级方式很讲究也更麻烦,一定要稳妥,后续另开。
PS:
这个问题前前后后我搞了一周才最终确认和解决,因为刚开始不信,怎么可能是这种原因,结果还就是。
提交的github issue地址:
https://github.com/apache/apisix/issues/5692