线程 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

我按照这里的说明做了:

但是日志中也没有任何内容。

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

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