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個。