tomcat 优化配置

来源:互联网 发布:淘宝情趣内衣模特微博 编辑:程序博客网 时间:2024/06/03 19:00

tomcat优化主要有以下几个步骤

1 优化连接方式 在server.xml 修改connector 修改 protocol="org.apache.coyote.http11.Http11NioProtocol"

      <Connector executor="tomcatThreadPool" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
               connectionTimeout="20000"
               redirectPort="8443" minProcessors="100"  maxProcessors="1000"  
  URIEncoding="utf-8" tcpNoDelay="true" compression="on" 
  compressionMinSize="2048" maxThreads="1000" minSpareThreads="100" 
  acceptCount="1000" maxHttpHeaderSize="8192" disableUploadTimeout="true"/>


2  启用线程池在server.xml取消这段代码的注释 在connector 中添加 executor="tomcatThreadPool"

       <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
        maxThreads="300" minSpareThreads="8"/>

3  连接器优化

 
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为 10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为 75
acceptCount:允许的最大连接数,应大于等于 maxProcessors ,默认值为 100
enableLookups:是否反查域名,取值为: true 或 false 。为了提高处理能力,应设置为 false
connectionTimeout:网络连接超时,单位:毫秒。设置为 0 表示永不超时,这样设置有隐患的。通常可设置为 30000 毫秒。
其中和最大连接数相关的参数为maxProcessors 和 acceptCount 。如果要加大并发连接数,应同时加大这两个参数。
web server允许的最大连接数还受制于操作系统的内核参数设置,通常 Windows 是 2000 个左右, Linux 是 1000 个左右。 


maxThreads  客户请求最大线程数
minSpareThreads    Tomcat初始化时创建的 socket 线程数
maxSpareThreads   Tomcat连接器的最大空闲 socket 线程数
enableLookups      若设为true, 则支持域名解析,可把 ip 地址解析为主机名 false
acceptAccount       监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads  )1000
connectionTimeout   连接超时
URIEncoding    URL统一编码
tcpNoDelay true
compression 打开压缩功能 
      compressionMinSize 启用压缩的输出内容大小,这里面默认为2KB 
disableUploadTimeout

安装第一步参数配置connector.

4 修改JVM启动参数 听一个阿里讲师 配置的。

set JAVA_OPTS=-server -Xms1024m -Xmx2048m -XX:NewSize=512M -XX:MaxNewSize=1024m -XX:PermSize=256M -XX:MaxPermSize=256m -XX:MaxTenuringThreshold=10 -XX:NewRatio=2

5 禁用AJP 注释掉下面代码

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />



可以用jmeter压测试下。效果很明显些