Tomcat/Netty调优方案
1.默认web服务器
Gateway默认netty,其余服务默认tomcat
2.Tomcat参数
参数 |
含义 |
描述 |
默认值 |
minSpareThreads |
初始化线程数 |
初始化线程池的数量(最小数量) |
10 |
maxThreads |
最大线程数 |
线程池最大能支持的线程数量 |
200 |
maxConnections |
最大连接数 |
tomcat最大能支持的并发数 |
10000 |
acceptCount |
最大队列长度 |
tomcat维护的最大队列数量 |
100 |
maxIdleTime |
最大闲置时间 |
待释放线程闲置的最长时间 |
60s |
举例:假设maxThreads为1000,maxConnections为800,acceptCount为100
当tps为1000时,线程池最大支持800,剩下的200个请求中,有100个请求到队列排队,100个会被拒绝掉(Connection refused)
3.参数调优建议
熔断压测的tps为300,即默认maxThreads+acceptCount
目前服务配置为2核4G,建议maxThreads调整为400,acceptCount调整为200,
熔断的tps增加到600
4.自测例子
1.接口响应时间调整为60s
2.jmeter并发数设置为100/1s
3.maxConnections maxThread acceptCount 分别调整为50 20 10
4.并发开始,40个线程直接被拒绝,其余的60个线程,每隔一分钟执行20个。