`

Tomcat 7最大并发连接数的正确修改方法

 
阅读更多

转载:http://blog.csdn.net/qysh123/article/details/11678903

 

这是个很简单的问题,但是搜了一圈,发现大家都写错了。所以这里总结一下:

几乎所有的中文网页都介绍,要修改Tomcat的默认最大并发连接数,应该进行如下设置(实际上这些步骤是错误的):

--------------------------------------------

在tomcat配置文件server.xml中的<Connector ... />配置中,和连接数相关的参数有:
  
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。
web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。Unix中如何设置这些参数,请参阅Unix常用监控和管理命令

具体的配置信息:
Java代码

 

  1. <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080"
  2. minProcessors="5" maxProcessors="75" enableLookups="true" redirectPort="8443"
  3. acceptCount="100" debug="0" connectionTimeout="20000 " useURIValidationHack="false"
  4. protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>

 

--------------------------------------------

但是我仔细查了一圈,发现这个说法只是以讹传讹,并不适用于Tomcat 5.5以上的版本。这里先教大家怎么去查Tomcat的官网:

首先,在这里:http://tomcat.apache.org/ 我们点击左侧导航栏中“Documentation”下的Tomcat 7.0,进入到这个链接中:http://tomcat.apache.org/tomcat-7.0-doc/index.html ,详细的信息我们不用都看,在左侧导航栏中有一个链接Configuration,我们点进去之后,再点击其左侧导航栏中connector一项的HTTP,就进入到HTTP连接数及其他相关属性的设置页面了。在这里(http://tomcat.apache.org/tomcat-7.0-doc/config/http.html)我们可以看到,在Connector的属性配置中,压根就没有maxProcessors等的设置选项。其中这句话已经介绍得很清楚:

If more simultaneous requests are received than can be handled by the currently available request processing threads, additional threads will be created up to the configured maximum (the value of the maxThreads attribute). If still more simultaneous requests are received, they are stacked up inside the server socket created by the Connector, up to the configured maximum (the value of the acceptCount attribute).

所以我们需要设置的是maxThreads和acceptCount这两个值:

其中,maxThreads的介绍如下:

The maximum number of request processing threads to be created by this Connector, which therefore determines the maximum number of simultaneous requests that can be handled. If not specified, this attribute is set to 200. If an executor is associated with this connector, this attribute is ignored as the connector will execute tasks using the executor rather than an internal thread pool.

而acceptCount的介绍为:

The maximum queue length for incoming connection requests when all possible request processing threads are in use. Any requests received when the queue is full will be refused. The default value is 100.

所以两者的默认值分别是200和100,要调整Tomcat的默认最大连接数,可以增加这两个属性的值,并且使acceptCount大于等于maxThreads:

 

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


今天就记录这么多,希望大家以后在转载别人的经验时更用心些,不要老出现上面那些以讹传讹的情况。也希望能对有些朋友起到帮助。

分享到:
评论
6 楼 kealuya 2017-09-11  
留言止于智者
5 楼 leoge0113 2017-04-05  
4 楼 angelshelter 2017-03-11  
2楼理解很透呀,我用程序测了,是正确的。
3 楼 独孤日日也 2017-01-10  
2楼正解 
2 楼 guodefu909 2016-08-04  
maxThreads 是处理请求的线程数,acceptCount 是等待队列,acceptCount并不是一定要大于等于maxThreads。
maxThreads 满了,进入acceptCount ,acceptCount 也满了,则 拒绝请求
1 楼 wei. 2016-01-04  

相关推荐

    tomcat 最大并发连接数 acceptCount

    tomcat 最大并发数 并发量 tomcat 最大并发连接数 acceptCount不能说只要大于acceptCount的连接就一定被拒绝!

    tomcat并发量详解

    tomcat并发量详解 tomcat并发连接数详解

    数据库连接数查看工具

    查看数据库连接数,直接放到tomcat服务器下用浏览器访问即可

    Tomcat中数据库连接池的配置和使用

    Tomcat中数据库连接池的配置和使用

    tomcat中的几点配置说明

    1. 如何加大tomcat连接数 在tomcat配置文件server.xml中的配置中,和连接数相关的参数有: minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10 maxProcessors:最大连接线程数,即:并发处理的...

    Nginx+Tomcat负载均衡

    #允许最大连接数 worker_connections 2048; } http { include mime.types; default_type application/octet-stream; #定义日志格式 #log_format main '$remote_addr - $remote_user [$time_local] $request...

    MySQL并Tomcat优化记录

    # MySQL的最大连接数,如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多, 介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,...

    TOMCAT 配置及性能优化

    包括Tomcat内存参数的管理设置、JDK、虚拟目录、连接数相关设置

    web服务器nginx+部署前端vue项目

    1. 什么是 nginx 和可以做什么事情 ...Nginx 专为性能优化而开发, 性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,有报告表明能支持高 达 50,000 个并发连接数。 https://lnmp.org/nginx.html

    vxworks 并发服务器程序

    #define BACKLOG 50 //最大连接数 #define BUF_SIZE 200 //缓冲区大小 #define OUT_TIME_SEC 3 //连接超时(在该时间内无数据收发)时间设置(秒/单位) #define CHECK_DELAY 1 //检查超时连接的时间间隔(秒/单位...

    开涛高可用高并发-亿级流量核心技术

    4.2.1 限流总并发/连接/请求数 69 4.2.2 限流总资源数 70 4.2.3 限流某个接口的总并发/请求数 70 4.2.4 限流某个接口的时间窗请求数 70 4.2.5 平滑限流某个接口的请求数 71 4.3 分布式限流 75 4.3.1 Redis+Lua实现 ...

    Nginx+Tomcat高性能负载均衡集群搭建教程

    单个Tomcat最大支持在线访问是500左右,要通知支持更多的访问量一个Tomcat就没法做到了。在这里我们采用集群部署方式,使用多个Tomcat,反向代理使用Nginx。 架构如下: 准备工作 apache-tomcat-7.0.61 nginx-...

    网络应用程序大作业代码(MyBrowser,MyServer,MyManager)

    i. myWebServer:当前连接数、已处理连接数、成功请求数、失败请求数等 ii. myWebBrowser: 活动进程id、每个请求的平均响应时间 其他需求 分析比较myWebServer与其他WEB服务器(如Tomcat)的性能。 参考资料 1. ...

    Loadrunner报错日志

    2、如果方法一操作后没有变化,此时需要去查看服务器操作系统中是否对连接数做了限制,AIX下可以直接vi文件limits修改其中的连接限制数、端口数,还有tcp连接等待时间间隔大小,wiodows类似,只不过windows修改...

    LyBBS『凌云论坛』系统

    对数据库我们采用了数据库连接池,用户可以在配置文件中配置不同的连接池或者不使用连接池,对表操作也采用了预处理、批处理、事务处理等多种方式,用户可以在配置文件中配置数据库连接参数,包括连接数,超过连接数...

    【7A文】服务器性能计算.docx

    GGGGG系统的接口服务器使用Tomcat搭建,根据经验单服务器上的Tomcat的整体理论处理能力1000-20XX个用户并发连接。考虑到系统操作系统CPU使用率为10%,因此系统整体负载不能高于70%。 【7A文】服务器性能计算全文共6...

    java面试题

    77.3. 修改tomcat连接数 88 77.4. 禁止列出目录下的文件 88 77.5. 设置session失效的时间 89 77.6. 设置MIME响应类型 89 77.7. 设置tomcat的默认访问页面 89 77.8. 设置tomcat管理用户 89 77.9. 附录 90 78. ...

    网站建设硬件设计方案.docx

    2.2 防火墙 CISCO ASA5520防火墙 并发连接:280000 网络吞吐:450 安全过滤:225MB 网络端口:4个千兆以太网接口+1个快速 用户数限:无用户数限制用户 VPN支持:支持 2.2 交换机 Quidway S3952P-EI 传输速率:10Mbps...

    java开源包7

    HttpAsyncClient 的出现并不是为了替换 HttpClient,而是作为一个补充用于需要大量并发连接,对性能要求非常高的基于HTTP的原生数据通信,而且提供了事件驱动的 API。 NIO网络框架 xSocket xSocket是一个轻量级的...

Global site tag (gtag.js) - Google Analytics