Tomcat 总结

Tomcat 7.x 版本默认 BIO,8.x 版本默认 NIO 
MaxKeepAliveRequests 长连接支持最大请求数,达到最大请求数时,tomcat 会关闭连接
—————————–
KeepAliveTimeout 等同于 socket 参数 SocketTimeout
SocketTimeout – inputStream.read() 阻塞等待 recv_buffer 输入缓冲区写入数据的过期时间
—————————–

一般 Tomcat 只能支持几百个并发
平均请求处理时间越短,最大并发越高
减少平均请求处理时间,比如说优化算法,动静分离,缓存,异步等

增加tomcat连接数 
在tomcat配置文件server.xml中的配置中,和连接数相关的参数有: 
minProcessors 最小空闲连接线程数,用于提高系统处理性能,默认值为10 
maxProcessors 最大连接线程数,并发处理的最大请求数,默认值为75 
acceptCount 允许的最大连接数,应大于等于maxProcessors,默认值为100 
enableLookups 是否反查域名,取值为:true或false。为了提高处理能力,应设置为false 
connectionTimeout 网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。 

其中和最大连接数相关的参数为 maxProcessors 和 acceptCount,如果要加大并发连接数,应同时加大这两个参数
web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。 
 
<Connector port=”8080″ maxThreads=”150″ minSpareThreads=”25″ maxSpareThreads=”75″ acceptCount=”100″ />   
maxThreads=”150″ 最多同时处理150个连接   
minSpareThreads=”25″ 即使没有人使用也开这么多空线程等待   
maxSpareThreads=”75″ 如果最多可以空75个线程,例如某时刻有80人访问,之后没有人访问了,则tomcat不会保留80个空线程,而是关闭5个空的   
acceptCount=”100″ 当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接

这对于大系统是远远不够的,一般需要增大连接数,建议把最大连接数,允许最大连接数增大,且允许最大连接数比最大连接数要大,一般大1就可以了

访问时 url 不带项目名,web 项目放在 webapps/ROOT 下
访问时 url 带项目名,web 项目放在 webapps 下