Tomcat6优化
一, 安全性:
-
为了提高安全性,一般情况下要屏蔽AJP,可以选择注释或删除server.xml中的Connector节点
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
二, HTTP优化配置:
-
name: 线程池的名字,要唯一,后面要用到的
-
namePrefix: 线程池的前缀,用来标记线程名字的
-
maxThreads:允许最大线程池的数量,默认是200,一般设置要高一些
-
maxSpareThreads: 最小保持活跃的线程池数量,默认是25
-
maxldleTime: 空闲的时间超过这个设置的数后,就会被关闭,默认的时间是1分钟(60000毫秒)
-
threadPriority: 线程的等级,默认是Thread.NORM_PRIORITY
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="5000" minSpareThreads="500"/> <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
三, 禁用DNS查询:enableLookups="false"
-
当web应用程序向要记录客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为IP地址。
-
DNS查询需要占用网络,并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的IP的过程,这样会消耗一定的时间。
-
为了消除DNS查询对性能的影响我们可以关闭DNS查询,方式是修改server.xml文件中的enableLookups参数值
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="5000" minSpareThreads="500"/> <Connector executor="tomcatThreadPool" port="88" protocol="HTTP/1.1" connectionTimeout="20000" enableLookups="false" redirectPort="8443" />
四, 设置容器处理乱码
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="5000" minSpareThreads="500"/> <Connector executor="tomcatThreadPool" port="88" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" useBodyEncodingForURI="true" enableLookups="false" redirectPort="8443" />