[alibaba/higress]利用jmeter压测higress网关错误率大于0

2025-11-04 606 views
0

背景:部署的higress版本为V2.1.0版本,其中higress-gateway节点分配的资源为6核6G,然后在higress-console上配置好了路由到springboot微服务。

压测:通过jmeter对higress进行压测发现一直存在错误率。当压测的线程为100时压测的错误率为万分之1到万分之2之间,将压测的线程降低到10再压测错误率依然为万分之一以内,查看jmeter日志发现错误内容为 “java.net.SocketException,Non HTTP response message: Connection reset”。但是使用jmeter对spring gateway网关压测错误率一直都是0。在压测的过程中观察higress-gateway、springboot微服务以及jmeter服务器的cpu和内存利用率都比较低。

请问如何分析和解决该问题?

回答

0

补充说明问题抓包分析结果: 备注:上图中16.16.6.56为jmeter所在服务器ip,16.28.0.22是higress所在服务器ip 通过tcpdump抓包分析jmeter和higress之间3次握手成功,但是在jmeter发送http请求给higress后,higress返回了rst链接重置导致链接断开,通过查看Higress日志也没有收到这条请求(每次请求url中都带有uuid参数),请看看是higress什么原因导致了这个问题?

0

Higress 服务器所使用的 32001 是 Node Port 吗?

如果是的话,这个端口实际是 kube-proxy 监听的,由它来转发请求给 Higress。这里必须要把 kube-proxy 的工作情况纳入考量。

2

32001是higress-gateway的node port端口 同样的情况下给spring gateway添加nodeport端口,然后压测spring gateway就不存在上面的报错问题。

3

我建议你先看看 kube-proxy 的日志。另外,这里可能和 connection keep-alive 配置有关系。你可以追踪一下有 RST 的 TCP 连接看看。

6

我将higress-gateway迁移到另外一个node上部署后再压测就没有错误率了,k8s集群中不同的node节点的配置和规格不一样,该问题结束,谢谢阿里老师的解答