开发者社区> 问答> 正文

求助Tomcat|线程满,网站响应慢,如何解决?

落地花开啦 2016-06-03 18:27:46 1449

spring mvc项目 容器用的是tomcat 之前一直是默认的TOMCAT设置在跑 没出过问题(虽然理论上流量应该挺大的 但是没有反应过问题)
最近网站经常无响应 查看一下tomcat的线程满了(默认是200)所以找网上的相关资料自行进行了一些优化
打开线程池:

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

使用apr并且修改参数:

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

JAVA提升内存:
set JAVA_OPTS=%JAVA_OPTS% -server -Xms1024m -Xmx1024m(渣服务器 内存就2G 也没法多给)
加了probe做了一下参考检测:
screenshot
线程数改过300 500 600 都是一开机都满了(busy满) 之前没设置排队 所以反应有页面无法打开 现在设置了排队 反应网站响应慢
想问一下 排除后台应用的问题(应用一直没动过) 单从tomcat来说(机器一直没动过 虽然渣性能 肯定有服务器的问题)还有优化的地方么 问题在哪?求教.

分享到
取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 19:27:02

    不应该一味的从线程池增大的方向去解决性能问题,如果查询较慢,或者有比较复杂的算法、递归等操作,增大线程池没有意义的。

    应该首先找到性能瓶颈。我建议先把线程池降下来。

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题