Tomcat7 性能调优

Tomcat 默认采用阻塞式IO来处理并发请求,因此Tomcat所能支持的并发用户受并发线程的控制。如果将Tomcat开启NIO(非阻塞式IO)来处理并发请求,那么Tomcat所能支持的并发用户会有所提升。Tomcat默认采用阻塞式IO来处理并发请求,如果需要启动NIO,处理并发请求,那需要用户重新配置。配置方法是修改Tomcat的conf目录下的server.xml文件,在该文件中修改其中的<Connector .../元素>,具体配置哪些属性,可以启动Tomcat,然后访问http://localhost:8080/docs/config/http.html页面

对于阻塞式IO,如果需要修改Tomcat所能支持的并发线程数,同样也是修改conf目录下的server.xml文件的<Connector.../>元素


这指明该Tomcat最多只能支持200个并发线程,因此最多支持20个并发请求。

还有几个其他的参数

 <span style="font-family:Microsoft YaHei;font-size:14px;"><Connector port="80" protocol="HTTP/1.1"
maxThreads="200"     
<span style="color:#ff6666;">minSpareThreads="100"
maxSpareThreads="500"
acceptCount="700"</span>
connectionTimeout="20000"
redirectPort="8443" /></span>
其中:

minSpareThreads = "100"  //初始化时创建的线程数

maxSpareThreads = "500"  //一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程

acceptCount = "700"  //指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中,请求超过这个数的请求将不予处理

打开Tomcat的Status控制台,上面显示Tomcat最多支持200个并发线程,当前有10个线程,其中4个处于busy的线程

Max threads: 200 Current thread count: 10 Current thread busy: 4

是不是把conf/server.xml文件的<Connector .../>元素中把maxThreads属性设置的越大,那Tomcat所能支持的并发线程就越多?

理论上是这样的,但随着并发线程数的增大,系统性能下降的越厉害,这就需要衡量项目响应速度与并发用户的关系。当硬件设施固定后,Tomcat所能支持的并发线程数是有极限的,如果需要增加Tomcat所能支持的并发线程数,则只能考虑提升硬件了。


打开Tomcat ,http://localhost:8080/,登录server status,需要用户名和密码,Tomcat7中没有设置任何默认用户,因而需要手动往Tomcat7的conf文件夹下的tomcat-users.xml文件中添加用户

<span style="font-family:Microsoft YaHei;font-size:14px;"><role rolename="admin-gui"/> 
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles=" admin-gui , manager-gui "/></span>

其中admin-gui和manager-gui是可选的。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值