Tomcat的Connector是Tomcat接收HTTP请求的关键模块,我们可以配置它来指定IO模式,以及处理通过这个Connector接受到的请求的处理线程数以及其它一些常用的HTTP策略。其主要配置参数如下:
1.指定使用NIO模型来接受HTTP请求
protocol="org.apache.coyote.http11.Http11NioProtocol" 指定使用NIO模型来接受HTTP请求。默认是BlockingIO,配置为protocol="HTTP/1.1"
acceptorThreadCount="2" 使用NIO模型时接收线程的数目
2.指定使用线程池来处理HTTP请求
首先要配置一个线程池来处理请求(与Connector是平级的,多个Connector可以使用同一个线程池来处理请求)
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="1000" minSpareThreads="50" maxIdleTime="600000"/>
<Connector port="8080"
executor="tomcatThreadPool" 指定使用的线程池
3.指定BlockingIO模式下的处理线程数目
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毫秒。
4.其它常用设置
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" 哪些资源类型需要压缩
5.小结
关于Tomcat的Nio和ThreadPool,本身的引入就提高了处理的复杂性,所以对于效率的提高有多少,需要实际验证一下。
6.配置示例
<Connector port="8080"
redirectPort="8443"
maxThreads="150"
minSpareThreads="25"
maxSpareThreads="75"
acceptCount="100"
connectionTimeout="20000"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
URIEncoding="UTF-8"
disableUploadTimeout="true"
enableLookups="false"
compression="on"
compressionMinSize="10240"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain">
...
</Connector>
分享到:
相关推荐
《Tomcat7.0性能优化——挑战极限精简版》 Tomcat作为一款广泛应用的开源Java Servlet容器,其性能优化是许多开发者关注的重点。本文将深入探讨如何对Tomcat7.0进行性能优化,旨在帮助你挑战其运行效率的极限。 一...
除了server.xml的配置,还有其他一些常见的优化手段,例如对JVM进行调优、设置合适的JVM参数来优化内存分配;关闭Web应用的日志记录功能以减少磁盘I/O;增加JVM内存,提高Tomcat处理请求的能力等。 优化Tomcat是一...
【深入剖析Tomcat——完整目录】 Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,是一个开源的、免费的Web应用服务器,主要用于运行Java Servlet和JavaServer Pages(JSP)。Tomcat以其轻量级、易用性...
在实际应用中,可能需要根据业务需求对Tomcat进行性能调优,比如调整线程池大小、增加内存分配、优化连接器设置等。此外,为了安全起见,建议定期更新到最新版本以修复已知的安全漏洞。 总结来说,Apache Tomcat ...
根据提供的文件信息,我们可以推断出这是一本关于Apache Tomcat服务器的专业书籍——《TOMCAT权威指南第二版》。接下来,我们将从以下几个方面来详细阐述与这本书相关的知识点: ### 一、Apache Tomcat简介 #### ...
在描述中提到的"Apache-Tomcat8.0版本下载",这意味着我们将探讨的是Tomcat 8.0系列的特定版本——8.0.9。这个版本可能包含了自8.0主线发布以来的一些安全更新、性能改进以及bug修复。 1. **安装与配置**: - 解压...
本文将深入探讨Tomcat的两个核心配置文件——`server.xml`和`tomcat-users.xml`,帮助读者理解并掌握Tomcat的基本配置。 1. **`server.xml`配置文件** `server.xml`是Tomcat的主要配置文件,包含了服务器的全局...
### 平台优化与部署——基于Tomcat的项目平台优化技术要点 #### 一、引言 随着互联网技术的发展,企业对于网站平台的稳定性和性能要求越来越高。在众多的Java Web容器中,Tomcat因其简单易用且轻量级的特点而被广泛...
2. **性能调优**:通过调整连接器(Connector)配置来提高Tomcat的并发处理能力。 3. **安全性增强**:启用SSL加密传输、限制访问IP等方式提高安全性。 通过上述知识点的学习与实践,我们可以更深入地理解如何利用...
- 使用JVM的内存调优参数,例如通过`setenv.bat`脚本设置`JAVA_OPTS`,以优化Tomcat的内存使用。 8. **监控与管理**: - Tomcat内置了管理Web应用,如`manager`和`host-manager`,通过配置文件启用后,可以远程...