Reactor-netty:Theads reactor-http-nio 长时间计算一些东西并消耗 cpu 和内存

问题描述 投票:0回答:0

我们有一个服务,我们通过 websocket 连接到它并从它接收消息。 我们更新了 spring boot 3.0.6、reactor: 1.1.6、reactor-core 3.5.5 服务的依赖项。

有一个问题。

通过 websocket 连接到服务后,名为 reactor-http-nio 的线程开始消耗 cpu 和内存。一段时间后,Kubernetes 以错误 Exit Code: 137 杀死 pod(当容器或 pod 由于高内存使用率而终止时会发生退出代码 137 错误)并创建一个新的(并且多次)。

在本地版本中,在几次这样的连接之后,就无法再与服务建立新的连接。如果我们等待 10-15 分钟,这些线程的负载就会消失,我们可以再次连接。 服务本身的日志中没有错误。

以下是有关测试前 CPU 和线程状态信息的屏幕截图,其中发生了 websocket 连接:

CPU before test
Threads before test

之后:

CPU after test
Threads after test
The content of one of the threads

我按照这里的说明做了:
https://projectreactor.io/docs/netty/release/reference/index.html#faq.memory-leaks
https://github.com/netty/netty/wiki/Reference-counted-objects#troubleshooting-buffer-leaks
但是日志中也没有任何内容。

请告诉我如何理解这个问题的原因

project-reactor reactor-netty
© www.soinside.com 2019 - 2024. All rights reserved.