Tomcat优化之线程池优化

2018-09-21  本文已影响0人  桌面小鱼

一、线程池优化

maxConnections  -- 最大连接数

1、受服务器内核影响,linux 通过 ulimit -a 查看服务目前情况

open files = 1024  (保守数值)调整这个数值  

vi /etc/security/limits.conf
在文件下面添加配置 
* soft     nofiles        65535
* hard    nofiles        65535

2、添加maxConntions的配置
    考虑:①对CPU要求更高(计算量较大)建议对这属性配置不要太大,过大时会对CPU产生竞争,会影响计算效率(如大数据相关)
               ②对IO要求比较大 正常访问数据库,跑逻辑程序,对CPU要求不是特别高的时候,服务器建议配置3000左右(64G内存,32核CPU),实际2300-2700左右。(配置后建议做压测,根据实际情况微调)
               ③配置的位置在:server.xml  -> connector
修改前:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

修改后:

<Connector port="8080" protocol="HTTP/1.1"
               maxConnections=”3000“
               connectionTimeout="20000"
               redirectPort="8443" />

maxThreads -- 最大线程数

默认值是200
推荐配置500-700(1000相当于我们对处理能力要求很高)
修改后

<Connector port="8080" protocol="HTTP/1.1"
               maxConnections=”3000“
               maxThreads=“500”
               connectionTimeout="20000"
               redirectPort="8443" />

acceptCount -- 最大排队等待数

在服务器线程不够用时,会生成一个请求队列,请求队列的最大队列数量就是accptCount
Tomcat最大可以处理的线程数量=maxThreads+acceptCount
推荐比maxThread持平或略小

修改后

<Connector port="8080" protocol="HTTP/1.1"
               maxConnections=”3000“
               maxThreads=“500”
               acceptCount="500"
               connectionTimeout="20000"
               redirectPort="8443" />

上一篇下一篇

猜你喜欢

热点阅读