最新历史版本 :Tomcat 服务器并发数查看与修改 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 问题描述编辑

用户访问某张报表时,服务器就使用一个线程来处理报表运算。

如果访问的人数太多且报表运算量大的话,同一时间争抢服务器 CPU 线程的人就会很多。服务器响应能力就会减弱,所以我们需要合理控制服务器线程个数。

2. 解决方法编辑

2.1 设置方式

我们可以通过修改 Tomcat 服务器的配置,来控制线程数。

打开%Tomcat_HOME%/conf/server.xml文档,找到<Connector port="8080"....>一栏。

在 Connector port = "8080"后面加上相应地参数控制线程数,控制参数如下:

参数  含义  默认值 
  maxThreads  Tomcat 起动的最大线程数,即同时处理的任务个数 200
  acceptCount  当 Tomcat 起动的线程数达到最大时,接受排队的请求个数 100

要调整 Tomcat 的默认最大连接数,可以增加这两个属性的值,并且使 acceptCount 大于等于 maxThreads,设置完成后如下:

  <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" acceptCount="500" maxThreads="400" />


2.2 注意事项

Web Server 允许的最大连接数还受制于操作系统的内核参数设置,通常 Windows 是 2000 个左右,Linux 是 1000 个左右。

这里的连接数是无法直接给出最佳配置的,需要根据您的实际情况,在不断调整,不断测试的基础上,才能达到最合理配置。