您的位置:首页 > 运维架构 > Tomcat

tomcat 大并发报错 Maximum number of threads (200) created for connector with address null and port 8080

2015-06-19 17:12 716 查看
1、INFO: Maximum number of threads (200) created for connector with address null and port 8091

说明:最大线程数错误

解决方案:

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

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

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"

maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />

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

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

<Connector executor="tomcatThreadPool"

port="80" protocol="HTTP/1.1"

connectionTimeout="60000"

keepAliveTimeout="15000"

maxKeepAliveRequests="1"

redirectPort="443"

....../>

<Connector executor="tomcatThreadPool"
port="80" protocol="HTTP/1.1"
connectionTimeout="60000"
keepAliveTimeout="15000"
maxKeepAliveRequests="1"
redirectPort="443"
....../>

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

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

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

如下操作:

(1).ps -ef |grep tomcat 查看tomcat的进程ID,记录ID号,假设进程ID为10001

(2).lsof -p 10001|wc -l 查看当前进程id为10001的 文件操作数

(3).使用命令:ulimit -a 查看每个用户允许打开的最大文件数

默认是1024.

(4).然后执行:ulimit -n 65536 将允许的最大文件数调整为65536
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: