tomcatc5.5测试心得

在apache-tomcat-5.5/conf/server.xml文件下,可以找到如下信息

  <Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />
上面就是tomcat默认属性的设置

minSpareThreads="25" 表示即使没有人使用也开这么多空线程等待
maxSpareThreads="75" 表示如果最多可以空75个线程,例如某时刻有80人访问,之后没有人访问了,则tomcat不会保留80个空线程,而是关闭5个空的.
connectionTimeout="20000" 网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒

首先说明的是,影响tomcat最大连接数的属性是:

maxThreads="150" 表示最多同时处理150个连接
acceptCount="100" 当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接。
如果想让tomcat获得更大或者更小的连接数,那就需要把这两个属性同时修改。

现在来开始进行测试

1,测试tomcat与mysql的最大连接数的关系
tomcat5.5默认的最大连接数是150,没有定论,不过一般最大设为200就行了.
mysql默认的最大连接数是100,最大可以达到16384.

测试开始:
1)设置tomcat属性
maxThreads="50"
acceptCount="50"
mysql默认连接100

此次操作是并发查询
看到上面的参数大家应该想到的最大连接数应该是50,可测试结果可不是这样的,

测试的最大连接是100,有的时候也能超过100,但经常抛异常:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection,  message from server: "Too many connections"

结论:
虽然tomcat设置了最大连接数,但主要根据的是mysql的最大连接数


2)设置tomcat属性
maxThreads="200"
acceptCount="200"
mysql默认连接500
此次操作是并发查询,
并发请求300次,发生异常,严重: All threads (200) are currently busy, waiting. Increase maxThreads (200) or check the servlet status
结论:测试人数应不大于tomcat最大连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值