tomcat配置ssl后,出現頻繁的訪問超時情況。
通過腳本(感謝UCloud的技術支持 金曉帆-):
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
發現:
ESTABLISHED狀態實時數據量比較大,這個在tcp協議代表是建立通訊。
大量ESTABLISHED狀態就會把tomcat 443接口的最大線程給占滿了。
tomcat maxThreads默認值是200。
解決辦法,就是增加配置的maxThreads,最終配置如下:
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" maxThreads="800" scheme="https" secure="true" keystoreFile="conf/jks" keystorePass="" clientAuth="false" sslProtocol="TLS" />
