论坛首页 Java企业应用论坛

Tomcat并发性能调优问题

浏览 79392 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-04-29  
YRHYRH 写道

http://devnulled.com/content/2007/04/tomcat-6-surpasses-16000-simultaneous-connections/
http://www.javalobby.org/java/forums/t92965.html




文中说的TOMCAT6能支撑16000个连接,连接不等于并发请求,更不等于有数据库处理的复杂请求。是否有数据库处理逻辑以及逻辑复杂程度,对并发性能有决定性的影响。我的系统里也有通过AJAX从缓存里取状态的请求,返回只有3个字节,每秒处理上千个请求都没问题。但是这对有复杂数据库处理逻辑的请求并没有参考意义。在慢速网络,NIO能通过降低线程的消耗来提高并发连接数。但是在网络环境良好的局域网,数据库处理逻辑复杂的情况下,似乎帮助就不那么明显了。况且现在才50个并发,也不大可能是因为线程消耗太多导致当机啊!
0 请登录后投票
   发表时间:2008-04-29  
mobilefeather 写道
SteveGY 写道
LZ好像没有说明是否使用了arp+ajp?我曾经使用IIS6++ajp+arp+tc5.5,貌似有并发问题,不过我上次发生这个问题时,是使用servlet读取文件再发送到客户端,tc在arp配置中停止响应,拿掉arp ajp的connector问题就没有了。


我没有使用APR,另外,我使用IIS6时,必须将其设置为“以IIS5.0隔离模式运行”,否则就不能启用isapi_redirect筛选器连接TOMCAT的CONNECTOR。不知道你是否需要这样设置。我使用的isapi_redirect.dll是1.2.26,很新的版本了。我也有点怀疑是这个CONNECTOR的问题。
我这个系统也没有通过程序下载文件,页面的图片也非常的少,每个页面图片都不超过5个,而且都是图标类型的的小尺寸图片,所以文件下载引起问题的可能性也很小!

sorry,我上面拼写错误,是APR,呵呵,还在想arp是什么。
上一次我的问题在这里:http://www.iteye.com/topic/86375,估计对你现在问题没有什么参考价值,但没有使用IIS5隔离这种奇怪的方法,直接按iis+tomcat的说明文档配置的,记得确实有点烦,还一定要配置一个固定名字的虚拟目录等等,不过确实不需要这种“隔离”模式。貌似这个connector配置很可疑啊。
0 请登录后投票
   发表时间:2008-04-29  
SteveGY 写道

sorry,我上面拼写错误,是APR,呵呵,还在想arp是什么。
上一次我的问题在这里:http://www.iteye.com/topic/86375,估计对你现在问题没有什么参考价值,但没有使用IIS5隔离这种奇怪的方法,直接按iis+tomcat的说明文档配置的,记得确实有点烦,还一定要配置一个固定名字的虚拟目录等等,不过确实不需要这种“隔离”模式。貌似这个connector配置很可疑啊。

 


能说一下你是怎么配置使用IIS6的吗?谢谢!

0 请登录后投票
   发表时间:2008-04-30  
mobilefeather 写道

SteveGY 写道

sorry,我上面拼写错误,是APR,呵呵,还在想arp是什么。[img]../../../../../../images/smiles/icon_question.gif" alt="[/img]
上一次我的问题在这里:http://www.iteye.com/topic/86375,估计对你现在问题没有什么参考价值,但没有使用IIS5隔离这种奇怪的方法,直接按iis+tomcat的说明文档配置的,记得确实有点烦,还一定要配置一个固定名字的虚拟目录等等,不过确实不需要这种“隔离”模式。貌似这个connector配置很可疑啊。



能说一下你是怎么配置使用IIS6的吗?谢谢!


直接参照说明文档http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html,比较繁琐,但还是搞得定的。
0 请登录后投票
   发表时间:2008-04-30  
mobilefeather 写道
YRHYRH 写道

http://devnulled.com/content/2007/04/tomcat-6-surpasses-16000-simultaneous-connections/
http://www.javalobby.org/java/forums/t92965.html




文中说的TOMCAT6能支撑16000个连接,连接不等于并发请求,更不等于有数据库处理的复杂请求。是否有数据库处理逻辑以及逻辑复杂程度,对并发性能有决定性的影响。我的系统里也有通过AJAX从缓存里取状态的请求,返回只有3个字节,每秒处理上千个请求都没问题。但是这对有复杂数据库处理逻辑的请求并没有参考意义。在慢速网络,NIO能通过降低线程的消耗来提高并发连接数。但是在网络环境良好的局域网,数据库处理逻辑复杂的情况下,似乎帮助就不那么明显了。况且现在才50个并发,也不大可能是因为线程消耗太多导致当机啊!




不知道你有没有使用 Apache Tomcat Native library ,基于你的硬件环境,tomcat本身有可以很大的优化调整空间。我估计你的Tomcat 死掉 当时整个机器的CPU使用率不会高,因为你的JVM占了很少的内存吧

0 请登录后投票
   发表时间:2008-04-30  
YRHYRH 写道


不知道你有没有使用 Apache Tomcat Native library ,基于你的硬件环境,tomcat本身有可以很大的优化调整空间。我估计你的Tomcat 死掉 当时整个机器的CPU使用率不会高,因为你的JVM占了很少的内存吧

没有使用Apache Tomcat Native library。

再次强调,TOMCAT并没有死,同一个TOMCAT里的MANAGER应用还能正常运作,速度还非常快。是本应用对请求无响应。

可以认为是应用死了。CPU占用率很低,在5%左右,JVM内存也只使用了200M左右。

 

0 请登录后投票
   发表时间:2008-04-30  
应该是增加连接数,当连接数达到上限后,就会报timeout超时!
0 请登录后投票
   发表时间:2008-04-30  
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080" minProcessors="10" maxProcessors="1024"
enableLookups="false" redirectPort="8443"
acceptCount="1024" debug="0" connectionTimeout="30000" />
0 请登录后投票
   发表时间:2008-05-01  
为什么不做成多实例的tomcat呢。
硬件有富裕的
0 请登录后投票
   发表时间:2008-05-01  
感觉是数据库问题

应用在等待数据库返回就会出现假死状态。

IIS可能收不到回应就报503

你可以在出现503的时候去查看数据库。那时候应该有死锁存在。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics