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" />