tomcat6 高并发配置 与优化

server.xml配置

1.  <Connectorport="8080"protocol="HTTP/1.1"web

2.  maxThreads="30000"数据库

3.  minSpareThreads="512"tomcat

4.  maxSpareThreads="2048"服务器

5.  enableLookups="false"网络

6.  redirectPort="8443"并发

7.  acceptCount="35000"负载均衡

8.  debug="0"socket

9.  connectionTimeout="40000"性能

10. disableUploadTimeout="true"编码

11. URIEncoding="UTF-8"/>

参数说明 :
connectionTimeout
网络链接超时,单位:毫秒。设置为 0 表示永不超时,这样设置有隐患的。一般可设置为 30000 毫秒。
keepAliveTimeout
长链接最大保持时间(毫秒)。此处为 15 秒。
maxKeepAliveRequests
最大长链接个数( 1 表示禁用, -1 表示不限制个数,默认 100 个。通常设置在 100~200 之间)
maxHttpHeaderSize
http
  请求头信息的最大程度,超过此长度的部分不予处理。通常 8K
URIEncoding
指定 Tomcat   容器的 URL   编码格式。
acceptCount
指定当全部可使用的处理请求的线程数都被使用时,能够放处处理队列中的请求数,超过这个数的请求将不予处理,默认为 10 个。
disableUploadTimeout
上传时是否使用超时机制
enableLookups
是否反查域名,取值为: true   false 。为了提升处理能力,应设置为 false
maxSpareThreads
最大空闲链接数,一旦建立的线程超过这个值, Tomcat   就会关闭再也不须要的 socket 线程 The default value is 50.
maxThreads
最多同时处理的链接数, Tomcat   使用线程来处理接收的每一个请求。这个值表示 Tomcat   可建立的最大的线程数。
minSpareThreads
最小空闲线程数, Tomcat   初始化时建立的线程数 .
minProcessors
最小空闲链接线程数,用于提升系统处理性能,默认值为 10
maxProcessors
最大链接线程数,即:并发处理的最大请求数,默认值为 75


提升 Tomcat 的并发能力一些方法
1
Apache + Tomcat   结合起来用 Apache   负责静态页面, Tomcat 负责动态页面,同时减小 connectionTimeout 的时间,以应对并发量大线程回收来不及的状况。
2
、压力过大的问题,能够作负载均衡,一个 TOMCAT 不管如何也不可能担当如此多的线程负载,并且 JVM 过大,其内存管理成本将显著加大。 2G 的内存,作 3-4 TOMCAT 实例( 512RAM*4 ),更为科学合理。
3
、数据库链接池,很多人,都推荐使用 C3P0 ,能提升访问数据库的并发性能好几倍。(有博文称使用 tomcat 自带的 jdbc-pool 更好,还没试过)
4
、采用 Tomcat 集群能够最大程度的发挥服务器的性能,能够在配置较高的服务器上部署多个 Tomcat ,也能够在多台服务器上分别部署   Tomcat Apache Tomcat 整合的方式仍是 JK 方式。通过验证,系统对大用户量使用的响应方面, Apache+3Tomccat 集群 > Apache+2Tomcat 集群 > Apache 集成 Tomcat > 单个 Tomcat 。而且采用 Apache+ Tomcat 集群的部署方式时,若是一个 Tomcat 出现宕机,系统能够继续使用,因此在硬件系统性能足够优越的状况下,须要尽可能发挥软件的性能,能够采用增长 Tomcat 集群的方式。
5.
  打开 KeepAlive 支持
KeepAlive on, KeepAliveTimeout 15 MaxKeepAliveRequests 1000
根据实际经验,经过 Apache Tomcat 集群的方式提升系统性能的效果十分明显,这种方式能够最大化的利用硬件资源,经过多个 Tomcat 的处理来分担单 Tomcat 时的压力。
web server
容许的最大链接数还受制于操做系统的内核参数设置,一般 Windows 2000 个左右, Linux 1000 个左右。
相关文章
相关标签/搜索