我正在使用K6作为工具运行负载测试。我每秒向部署在Kubernetes中的. net API(没有数据库)发送1000个请求。发送这么多请求会影响应用程序的性能。这在请求持续时间(如预期)中是明显的。
K8s集群有两个节点,其中一个节点的CPU使用率很高,因为我正在发送所有请求(这也是预期的)。但是,第二个节点的CPU使用率较低。在监视pod的CPU使用情况时,我看到了相同的结果。两个pod都使用大约10% - 20%的CPU。如何解释这些指标?负载均衡器(入口)不应该均衡负载吗?如果我还有剩余的资源,为什么我会看到性能下降?
如有任何建议/帮助,我将不胜感激。Node 1, CPU usage: https://i.stack.imgur.com/r0QPF.png
Node 2, CPU usage: https://i.stack.imgur.com/Ovub5.png
Pod 1, CPU usage: https://i.stack.imgur.com/ofUmm.png
Pod 2, CPU usage: https://i.stack.imgur.com/Jj3sC.png
您是否确定每个节点上都安排了一个pod ?否则,它们可能都被安排在同一个节点上。对于每个节点一个守护进程的测试,一个守护进程就足够了。否则,考虑拓扑扩展约束:
https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/