05
2020
04

tomcat 有哪几种Connector 运行模式(优化)?

bio:传统的Java I/O操作,同步且阻塞IO。

maxThreads="150"//Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。默认值200。可以根据机器的时期性能和内存大小调整,一般可以在400-500。最大可以在800左右。 

minSpareThreads="25"---Tomcat初始化时创建的线程数。默认值4。如果当前没有空闲线程,且没有超过maxThreads,一次性创建的空闲线程数量。Tomcat初始化时创建的线程数量也由此值设置。 

maxSpareThreads="75"--一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。默认值50。一旦创建的线程超过此数值,Tomcat会关闭不再需要的线程。线程数可以大致上用 “同时在线人数*每秒用户操作次数*系统平均操作时间” 来计算。 

acceptCount="100"----指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。默认值10。如果当前可用线程数为0,则将请求放入处理队列中。这个值限定了请求队列的大小,超过这个数值的请求将不予处理。 

connectionTimeout="20000" --网络连接超时,默认值20000,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。 


nio:JDK1.4开始支持,同步阻塞或同步非阻塞IO。

指定使用NIO模型来接受HTTP请求 

protocol="org.apache.coyote.http11.Http11NioProtocol" 指定使用NIO模型来接受HTTP请求。默认是BlockingIO,配置为protocol="HTTP/1.1" 

acceptorThreadCount="2" 使用NIO模型时接收线程的数目 


aio(nio.2):JDK7开始支持,异步非阻塞IO。


apr:Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地 提高Tomcat对静态文件的处理性能。



<!--

      <Connector connectionTimeout="20000" port="8000" protocol="HTTP/1.1" redirectPort="8443" uriEncoding="utf-8"/>

    -->

    <!-- protocol 启用 nio模式,(tomcat8默认使用的是nio)(apr模式利用系统级异步io) -->

    <!-- minProcessors最小空闲连接线程数-->

    <!-- maxProcessors最大连接线程数-->

    <!-- acceptCount允许的最大连接数,应大于等于maxProcessors-->

    <!-- enableLookups 如果为true,requst.getRemoteHost会执行DNS查找,反向解析ip对应域名或主机名-->

    <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" 

        connectionTimeout="20000"

        redirectPort="8443

        maxThreads=“500” 

        minSpareThreads=“100” 

        maxSpareThreads=“200”

        acceptCount="200"

        enableLookups="false"       

    />

    

其他配置


maxHttpHeaderSize="8192" http请求头信息的最大程度,超过此长度的部分不予处理。一般8K。 

URIEncoding="UTF-8" 指定Tomcat容器的URL编码格式。 

disableUploadTimeout="true" 上传时是否使用超时机制 

enableLookups="false"--是否反查域名,默认值为true。为了提高处理能力,应设置为false 

compression="on"   打开压缩功能 

compressionMinSize="10240" 启用压缩的输出内容大小,默认为2KB 

noCompressionUserAgents="gozilla, traviata"   对于以下的浏览器,不启用压缩 

compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 哪些资源类型需要压缩 


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。