Spring Webflux-只有一个核心时事件循环的性能



关于SpringWebflux性能的一个小问题,但关于只有一个核心的硬件。我知道,你可能会问,";为什么";,或者甚至";如何在2020年在只有一个核心的机器上运行Springboot应用程序";,或者甚至类似于";不要那样做">

我的问题是收集一些经验数据,建立理论和绩效结果。

众所周知,Spring Webflux是非阻塞的,它使用事件循环(而不是线程(来处理IO、计算等

但是,如果事件核心在只有一个核心的机器上运行,会发生什么?这会是某种灾难吗?也许会回到线程模型?或者IO性能可能会很糟糕,并以某种方式倒退,再次成为阻塞?

或者它可能没有问题,一个核心仍然可以处理好所有事情,只是将所有事件循环功能执行回自己?

谢谢

但是,如果事件核心在只有一个核心的机器上运行,会发生什么?这会是某种灾难吗?

;事件核心";,只是一个";事件循环";在标准线程上运行。事件循环线程(很可能是在单核设置中(只是一个单独的线程,它将像其他线程一样被调度在CPU核上运行,但根据事件循环模型,该单独的线程将以非阻塞的方式运行,处理应用程序的所有流量。

也许会回到线程模型?或者IO性能可能会很糟糕,并以某种方式倒退,再次成为阻塞?

;后退";如果你很难在没有线程请求上下文切换开销的情况下在机器上运行所有东西,那么添加回上下文切换永远不会有帮助。

(唯一的情况是在事件循环上有阻塞操作,但这一切都与代码中的错误有关,与整体系统性能无关。(

最新更新