簡體   English   中英

WebFlux - Reactor Http Epoll 線程

[英]WebFlux - Reactor Http Epoll threads

我正在使用 Spring webflux。 我向 rest 端點發送了數百個並發請求。 當我檢查時,只有 4 個線程被共享來處理所有負載。

這是正常的嗎? 是否有任何 spring 屬性可以增加此計數?

  • 反應器-http-epoll-1
  • 反應器-http-epoll-2
  • 反應器-http-epoll-3
  • 反應器-http-epoll-4

我知道我可以使用反應堆調度程序來卸載阻塞工作。 我的問題更多 - 這 4 個線程是什么,我們在哪里有這個配置?

默認線程數取決於主機系統的核心數。

請記住,Webflux 會盡量讓上述線程保持忙碌,因此您分配的線程數並不重要,只要它們消耗 CPU 的全部能力即可。

更多線程將只需要等待輪到它們使用 CPU。

如果性能是一個問題,有多種方法可以獲得更好的性能,例如讓多個系統在前面有一個負載平衡器,或者更多的 cpu 內核,並且還可以嘗試分析應用程序中什么需要時間。

由於您沒有發布任何關於您的設置的信息,所以很難知道什么是花費時間。 可能存在瓶頸,例如 rest 對其他系統的緩慢調用、多個數據庫連接、大型查詢、大量數據處理等。

但是你所看到的是很正常的,並在這里得到回答:

spring-webflux-and-reactor 的線程模型

Webflux 並發 model

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM