tuziilm的gravatar头像
tuziilm 2016-06-27 10:55:29
linux下tomcat端口请求数太大,导致服务器资源加载过慢的配置优化

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.                                                

修改tomcat的最大线程数。在server.xml里的connect标签里加参数,具体的参数名称请参考http://tomcat.apache.org/tomcat-6.0-doc/config/http.html , 加了maxThreads(默认200) 和 acceptCount(默认100)两个参数,分别设置最大连接数。


打赏
最近浏览
lkp_java  LV13 2022年2月28日
RichyHum  LV1 2021年8月17日
小可  LV17 2021年7月6日
zyvslxl  LV1 2020年6月23日
18911647190  LV2 2019年8月28日
woainiaaa  LV1 2019年7月13日
297077732  LV1 2018年9月28日
IT知更鸟  LV5 2018年9月28日
liuqing551 2018年6月10日
暂无贡献等级
大蜗牛 2018年3月1日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友