tomcat7中使用websocket时如何调优

来源:互联网 发布:d3.v4.min.js下载 编辑:程序博客网 时间:2024/06/05 20:27

一、修改tomcat运行模式

tomcat的运行模式有3种

1)bio

默认的模式,性能非常低下,没有经过任何优化处理和支持.

2)nio

利用java的异步io护理技术,noblocking IO技术.

想运行在该模式下,直接修改server.xml里的Connector节点,修改protocol为

protocol="org.apache.coyote.http11.Http11NioProtocol"
启动后,就可以生效,推荐使用该模式。
( http://www.365mini.com/page/tomcat-connector-mode.htm )
3)apr

安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能.


二、修改最大连接数

在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个左右。

  1. <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"   
  2.            connectionTimeout="20000"   
  3.            redirectPort="8443" acceptCount="5000" maxThreads="1500" />  
三、修改web.xml中websocket相关参数

<!--websocket executor 线程池的核心容量大小 --><context-param><param-name>org.apache.tomcat.websocket.executorCoreSize</param-name><param-value>500</param-value></context-param><!--websocket executor 线程池的最大容量大小,默认为200 --><context-param><param-name>org.apache.tomcat.websocket.executorMaxSize</param-name><param-value>5000</param-value></context-param><!--executor线程池中空闲进程所保留的最大时间。如果未指定,则默认为60秒 --><context-param><param-name>org.apache.tomcat.websocket.executorKeepAliveTimeSeconds</param-name><param-value>150</param-value></context-param>



0 0