Web开发

首页 » 常识 » 诊断 » WEB服务器高并发优化之Tomcat7性
TUhjnbcbe - 2021/3/4 1:01:00
白癜风如今最好的手术方法 http://pf.39.net/bdfyy/zjft/190629/7257160.html

一.线程池(ThreadPool)优化

编辑“Tomcat安装目录/conf/server.xml”文件,找到如下内容

!--

Executorname="tomcatThreadPool"namePrefix="catalina-exec-"

maxThreads=""minSpareThreads="4"/

--

取消注释,参数做如下调整

Executorname="tomcatThreadPool"namePrefix="catalina-exec-"

maxThreads=""minSpareThreads="25"

maxIdleTime=""acceptCount=""/

参数说明:

name这个是线程池的名字,必须唯一,默认即可,我们在后面的配置里要用到这个东西namePrefix线程的名字前缀,用来标记线程名字的,这样每个线程就用这个前缀加上线程编号了,比如catalina-exec-1catalina-exec-2maxThreads线程池可以容纳的最大线程数,tomcat使用线程来处理接收的请求每一个线程处理一个请求,这个值决定了同时能够处理的最大请求数,缺省值为minSpareThreads最小的保持活跃的线程数量,缺省值为4(tomcat5有此参数,而tomcat6无此参数,到了tomcat7又重新使用此参数,顺便提下5和7中这两个参数含义并不相同有兴趣可以查看官方文档)maxIdleTime 关闭一个空闲线程之前允许空闲线程持续的时间,只有当前空闲线程数大于minSpareThread的值,才会关闭空闲线程acceptCount当所有可用的请求处理线程都被使用的时候,连接请求队列的最大长度。当该队列满了以后的所有请求都被拒绝,缺省值为10

顺便提下如下3个参数maxSpareThreads、maxProcessors和minProcessors

maxSpareThreads:允许存在的空闲线程的最大数量,tomcat5及以前版本才有的参数,tomcat6和tomcat7均无此参数minProcessors:最小空闲连接线程数,用于提高系统处理性能maxProcessors:最大连接线程数,即并发处理的最大请求数maxProcessors和minProcessors是tomcat4才有的,tomcat5之后的版本均取消了这2个参数,tomcat4基本无人在用了吧,所以优化的时候别再把这2个参数加上了

二.连接器(Connector)优化

编辑“Tomcat安装目录/conf/server.xml”文件,找到如下内容将其注释掉

Connectorport="80"protocol="HTTP/1.1"

connectionTimeout="00"

redirectPort=""/

再找到如下内容,取消注释

!--

Connectorexecutor="tomcatThreadPool"

port=""protocol="HTTP/1.1"

connectionTimeout="00"

redirectPort=""/

--

参数做如下调整

Connectorexecutor="tomcatThreadPool"

port=""protocol="HTTP/1.1"

URIEncoding="UTF-8"enableLookups="false"disableUploadTimeout="true"

connectionTimeout="00"keepAliveTimeout="00"maxKeepAliveRequests=""

useURIValidationHack="false"

1
查看完整版本: WEB服务器高并发优化之Tomcat7性