netty springcloud(Spring Cloud Gateway中netty线程池优化)

本文目录
- Spring Cloud Gateway中netty线程池优化
- SpringCloud Gateway 2.x 并发调优
- 聊聊spring cloud gateway的NettyConfiguration
Spring Cloud Gateway中netty线程池优化
最近测试同学对系统进行压测。报出一个问题:几乎所有接口的成绩都不太好。甚至一些仅仅是主键查询,并且数据量不大的接口也是如此。排查过程中:跳过gateway网关,直接通过目标服务器ip进行压测发现成绩提升明显。初步判断是网关问题。网上翻阅资料发现一个优化点,就是netty本身的线程池配置。
要设置起本身可同时工作的线程数需要设置netty中的 reactor.netty.ioWorkerCount 参数。该参数无法直接配置,需要通过 System.setProperty 设置,故我们可以创建以下配置类来配置该参数:
我这里版本是 reactor-netty-core-1.0.3 ,版本不一样的话 可能参数key不太一样。可以看一下LoopResources 中写的key。
Runtime.getRuntime().availableProcessors() 获取的是cpu核心线程数也就是计算资源,而不是CPU物理核心数,对于支持超线程的CPU来说,单个物理处理器相当于拥有两个逻辑处理器,能够同时执行两个线程。
接下来看一下 DefaultLoopResources做了什么
可以看出来,如果未配置。netty是没有select线程组的。结合分析reactor模型可以发现,这种情况对处理效率是有影响的。而且最大只和cpu核心数量相同的配置也明显无法重复利硬件用资源。
SpringCloud Gateway 2.x 并发调优
由于2.x gateway 使用的是netty。
要设置起本身可同时工作的线程数需要设置netty中的 reactor.netty.ioWorkerCount 参数。
该参数无法直接配置,需要通过 System.setProperty 设置,故我们可以创建以下配置类来配置该参数:
此时我们便可以在yaml文件中通过以下方法配置工作线程数
其他的netty参数同样可以以这样的方式进行配置
聊聊spring cloud gateway的NettyConfiguration
本文主要研究下spring cloud gateway的NettyConfiguration
spring-cloud-gateway-core-2.0.0.RC1-sources.jar!/org/springframework/cloud/gateway/config/HttpClientProperties.java
netty-handler-4.1.23.Final-sources.jar!/io/netty/handler/ssl/util/InsecureTrustManagerFactory.java
***隐藏网址***

本文相关文章:
springcloud难学吗(感觉spring 好难学,好模糊 springmvc spring容器, sp)
2026年9月27日 14:20
osgi与springboot(spring boot repository做什么用的)
2026年9月27日 06:50
spring是线程安全的吗(SpringMVC的Controller线程安全吗)
2026年9月11日 04:00
springboot的application类(springboot的application类怎么写)
2026年7月5日 04:20
更多文章:
在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)
2026年10月11日 05:20
countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)
2026年10月11日 03:30
正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)
2026年10月11日 03:00
orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)
2026年10月10日 23:00
display的用法(display是什么意思 详解display的含义和用法)
2026年10月10日 22:00
html全部居中代码(怎么让网页居中显示,html如何让网页居中)
2026年10月10日 21:10



