TOMCAT 线程阻塞 connectionTimeout

fancyguys 发布于 2016/04/12 18:27
阅读 5K+
收藏 1

我用的是TOMCAT 7

配置文件如下:


<Executor name="tomcatThreadPool" 
namePrefix="catalina-exec-"
        maxThreads="500" 
minSpareThreads="10"
maxIdleTime="60000"
/>

<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol" 
               executor="tomcatThreadPool"
  connectionTimeout="20000" 
               redirectPort="8443"
  acceptCount="400"
  enableLookups="false"
  maxConnections="10000"
  URIEncoding="GBK" 
  compression="on"
  compressionMinSize="2048"
  noCompressionUserAgents="gozilla,traviata"
  compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/png,image/jpg,image/gif"
  disableUploadTimeout="false"
  connectionUploadTimeout="20000"
  useBodyEncodingForURI="true"
               />


出现了线程阻塞问题:

卡住了很多线程,并且都用了很长时间了


那么我的问题来了(我是小白-。-)我看tomcat参数里有一个connectionTimeout="20000" 这个时间到底是控制啥的。。为啥这些线程卡了这么久还在卡着

加载中
0
罪恶的花生
罪恶的花生

为什么觉得跟tomcat有关?为什么不检查程序?

f
fancyguys
我想知道TOMCAT的这个超时是否应该结束这些超时的进程 程序方面用压测软件压同一连接并没有出现如此大的阻塞 而且基本没有阻塞 也有可能是网络问题但是不好排除 所以先问一下TOMCAT是否设置的有问题 是否可以避免这个情况
0
zigzagroad
zigzagroad
压缩 最好不要开启,算法类的东西比较耗时的。 访问量不大的话,Tomcat默认配置都不应该出现访问超时现象。建议检查所开发的程序,输出、查看日志,跟踪是什么调用造成这种现象。
zigzagroad
zigzagroad
节省计算资源;排查问题时尽量简单化。
华兹格
华兹格
为啥不开启压缩?!省流量省宽带,cup运输可以忽略不计。
0
华兹格
华兹格
connectionTimeout 我猜测是http建立时的超时时间吧。客户端也会设置connectionTimeout。出现线程阻塞你用jstack打印堆栈看看都在等待什么啊,阻塞在哪里,你看这个超时时间干啥呢?!
华兹格
华兹格
超时会自动自杀啊,我不是很理解你想实现什么功能。你程序block,应该不是这个原因,用jstack打印下看看block点
f
fancyguys
有没有办法让这种超时的进程自杀的办法啊。。我看了看找到了等待的原因 但是我自己却没法复现= =我怎么压测都不会出现堵塞 蛋疼。。
0
Barret_Guo
Barret_Guo
你应该去查看你的程序 。。那些地方 执行需要这么久 还不释放线程  。。。
返回顶部
顶部