tomcat优化

1、连接器优化: 
在tomcat配置文档server.xml中的配置中,和连接数相关的参数有: 
maxThreads: 
Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。默认值200。

acceptCount: 
指定当任何能够使用的处理请求的线程数都被使用时,能够放到处理队列中的请求数,超过这个数的请求将不予处理。默认值10。 
minSpareThreads: 
Tomcat初始化时创建的线程数。默认值4。 
maxSpareThreads: 
一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。默认值50。 
enableLookups: 
是否反查域名,默认值为true。为了提高处理能力,应配置为false 
connnectionTimeout: 
网络连接超时,默认值60000,单位:毫秒。配置为0表示永不超时,这样配置有隐患的。通常可配置为30000毫秒。 
maxKeepAliveRequests: 
保持请求数量,默认值100。 
bufferSize: 
输入流缓冲大小,默认值2048 bytes。 
compression: 
压缩传输,取值on/off/force,默认值off。 
其中和最大连接数相关的参数为maxThreads和acceptCount。假如要加大并发连接数,应同时加大这两个参数。web server允许的最大连接数还受制于操作系统的内核参数配置,通常Windows是2000个左右,Linux是1000个左右。 
3、tomcat中如何禁止和允许列目录下的文档 
在{tomcat_home}/conf/web.xml中,把listings参数配置成false即可,如下: 
<servlet> 
... 
<init-param> 
<param-name>listings</param-name> 
<param-value>false</param-value> 
</init-param> 
...
</servlet> 
4、tomcat中如何禁止和允许主机或IP地址访问 
<Host ...> 
  ... 
  <Valve className="org.apache.catalina.valves.RemoteHostValve" 
         allow="*.mycompany.com,www.yourcompany.com"/> 
  <Valve className="org.apache.catalina.valves.RemoteAddrValve" 
         deny="192.168.1.*"/> 
  ... 
</Host> 

2tomcat的三种运行模式

tomcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,可以看他的启动控制台,或者启动日志.或者登录他们的默认页面http://localhost:8080/查看其中的服务器状态。 

1)bio 

默认的模式,性能非常低下,没有经过任何优化处理和支持. 

2)nio 

利用java的异步io护理技术,no blocking IO技术. 

想运行在该模式下,直接修改server.xml里的Connector节点,修改protocol为 

 <Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol" 
	connectionTimeout="20000" 
	URIEncoding="UTF-8" 
	useBodyEncodingForURI="true" 
	enableLookups="false" 
	redirectPort="8443" />

启动后,就可以生效。 

3)apr 

安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能. 

必须要安装apr和native,直接启动就支持apr。



你可能感兴趣的:(tomcat)