Tomcat优化配置 相关(转http://ihuangweiwei.iteye.com/blog/1233941)

一.Tomcat内存优化

Tomcat内存优化主要是对tomcat启动参数优化,我们可以在tomcat的启动脚本catalina.sh中设置JAVA_OPTS参数。

1.JAVA_OPTS参数说明

   -server  启用jdk 的 server 版;
   -Xms    java虚拟机初始化时的最小内存;
   -Xmx   java虚拟机可使用的最大内存;
   -XX:PermSize    内存永久保留区域
   -XX:MaxPermSize   内存最大永久保留区域 

现公司服务器内存一般都可以加到最大2G,所以可以采取以下配置:


JAVA_OPTS='-Xms1024m -Xmx2048m -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m'


配置完成后可重启Tomcat,通过以下命令进行查看配置是否生效:
首先查看Tomcat进程号:

sudo lsof -i:9027
我们可以看到Tomcat进程号是12222
1. 查看是否配置生效:
sudo jmap  – heap 12222  

二.Tomcat并发优化


1.Tomcat连接相关参数

Tomcat配置文件server.xml中的<Connector ... />配置中

1.参数说明

minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10

maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75

acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100

enableLookups:是否反查域名,取值为:truefalse 。为了提高处理能力,应设置为false

connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。

其中和最大连接数相关的参数为maxProcessorsacceptCount。如果要加大并发连接数,应同时加大这两个参数。

web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows2000 个左右, Linux 1000 个左右。

2.Tomcat中的配置示例


Xml代码 复制代码  收藏代码
  1. <Connector port="9027"    
  2.   
  3.                 protocol="HTTP/1.1"  
  4.   
  5.                 maxHttpHeaderSize="8192"  
  6.   
  7.                 minProcessors="100"  
  8.   
  9.                 maxProcessors="1000"  
  10.   
  11.                 acceptCount="1000"  
  12.   
  13.                 redirectPort="8443"  
  14.   
  15.                 disableUploadTimeout="true"/>   




2.调整连接器connector的并发处理能力

1.参数说明

maxThreads 客户请求最大线程数

minSpareThreads    Tomcat初始化时创建的socket线程数

maxSpareThreads   Tomcat连接器的最大空闲socket线程数

enableLookups     若设为true,则支持域名解析,可把ip地址解析为主机名

redirectPort       在需要基于安全通道的场合,把客户请求转发到基于SSLredirectPort端口

acceptAccount      监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads 

connectionTimeout   连接超时

minProcessors         服务器创建时的最小处理线程数

maxProcessors        服务器同时最大处理线程数

URIEncoding  URL统一编码

 

2.Tomcat中的配置示例

 

Xml代码 复制代码  收藏代码
 

3.Tomcat缓存优化

1.参数说明

compression打开压缩功能  

compressionMinSize 启用压缩的输出内容大小,这里面默认为2KB

compressableMimeType压缩类型

connectionTimeout定义建立客户连接超时的时间.如果为-1,表示不限制建立客户连接的时间

2.Tomcat中的配置示例

Xml代码 复制代码  收藏代码
  1. <Connector port="9027"    
  2.   
  3.                 protocol="HTTP/1.1"  
  4.   
  5.                 maxHttpHeaderSize="8192"  
  6.   
  7.                 maxThreads="1000"  
  8.   
  9.                 minSpareThreads="100"  
  10.   
  11.                 maxSpareThreads="1000"  
  12.   
  13.                 minProcessors="100"  
  14.   
  15.                 maxProcessors="1000"  
  16.   
  17.                 enableLookups="false"  
  18.   
  19.                 compression="on"  
  20.   
  21.                 compressionMinSize="2048"                  
  22.   
  23.                 compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  
  24.   
  25.                 connectionTimeout="20000"  
  26.   
  27.                 URIEncoding="utf-8"  
  28.   
  29.                 acceptCount="1000"  
  30.   
  31.                 redirectPort="8443"  
  32.   
  33.                 disableUploadTimeout="true"/>  
 

4.参考配置

1.旧有的配置

参考网络对服务器做过如下配置,拿出来分享下:

 

Xml代码 复制代码  收藏代码
  1. <Connector port="9027"    
  2.   
  3. protocol="HTTP/1.1"    
  4.   
  5.                 maxHttpHeaderSize="8192"  
  6.   
  7.                 maxThreads="1000"  
  8.   
  9.                 minSpareThreads="25"  
  10.   
  11.                 maxSpareThreads="75"  
  12.   
  13.                 enableLookups="false"  
  14.   
  15.                 compression="on"  
  16.   
  17.                 compressionMinSize="2048"  
  18.             
  19.                 compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  
  20.   
  21.                 connectionTimeout="20000"  
  22.   
  23.                 URIEncoding="utf-8"  
  24.   
  25.                 acceptCount="200"  
  26.   
  27.                 redirectPort="8443"  
  28.   
  29.                 disableUploadTimeout="true" />  
 

后来发现在访问量达到3百万多的时候出现性能瓶颈。

2.更改后的配置

 

Xml代码 复制代码  收藏代码
  1. <Connector port="9027"    
  2.   
  3.                 protocol="HTTP/1.1"  
  4.   
  5.                 maxHttpHeaderSize="8192"  
  6.   
  7.                 maxThreads="1000"  
  8.   
  9.                 minSpareThreads="100"  
  10.   
  11.                 maxSpareThreads="1000"  
  12.   
  13.                 minProcessors="100"  
  14.   
  15.                 maxProcessors="1000"  
  16.   
  17.                 enableLookups="false"  
  18.   
  19.                 compression="on"  
  20.   
  21.                 compressionMinSize="2048"  
  22.   
  23.                 compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  
  24.   
  25.                 connectionTimeout="20000"  
  26.   
  27.                 URIEncoding="utf-8"  
  28.   
  29.                 acceptCount="1000"  
  30.   
  31.                 redirectPort="8443"  
  32.   
  33.                 disableUploadTimeout="true"/>  








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值