tomcat 优化

引用:http://hi.baidu.com/worldpasser/blog/item/2ed12283cfec2eaf0df4d234.html

1、环境说明

Linux下tomcat运行期

 

2、增加jvm 内存的配置

#vi catalina.sh

插入如下:

JAVA_OPTS='-Xms256m -Xmx512m'

 

3、INFO: Maximum number of threads (200) created for connector with address null and port 11222

说明:最大线程数错误

解决方案:

 

使用线程池,用较少的线程处理较多的访问,可以提高tomcat处理请求的能力。使用方式:

首先。打开/conf/server.xml,增加

Xml代码
  1. <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"   
  2.         maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />  

 

最大线程500(一般服务器足以),最小空闲线程数20,线程最大空闲时间60秒。

然后,修改<Connector ...>节点,增加executor属性,如:

Xml代码
  1. <Connector executor="tomcatThreadPool"   
  2.                port="80" protocol="HTTP/1.1"   
  3.                connectionTimeout="60000"  
  4.                keepAliveTimeout="15000"  
  5.                maxKeepAliveRequests="1"  
  6.                redirectPort="443"  
  7.                 ....../>  

 

 

4、java.net.SocketException: Too many open files

 

当tomcat并发用户量大的时候,单个jvm进程确实可能打开过多的文件句柄。

使用 #lsof -p 10001|wc -l   查看文件操作数

如下操作:

Js代码
  1. (1).ps -ef |grep tomcat   查看tomcat的进程ID,记录ID号,假设进程ID为10001   
  2. (2).lsof -p 10001|wc -l     查看当前进程id为10001的 文件操作数   
  3. (3).使用命令:ulimit -a    查看每个用户允许打开的最大文件数   
  4.    默认是1024.   
posted @ 2012-02-20 14:46  镇水古月  阅读(324)  评论(0编辑  收藏  举报