锁定老帖子 主题:Tomcat并发性能调优问题
精华帖 (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个并发,也不大可能是因为线程消耗太多导致当机啊! |
|
返回顶楼 | |
发表时间: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配置很可疑啊。 |
|
返回顶楼 | |
发表时间:2008-04-29
SteveGY 写道
sorry,我上面拼写错误,是APR,呵呵,还在想arp是什么。 上一次我的问题在这里:http://www.iteye.com/topic/86375,估计对你现在问题没有什么参考价值,但没有使用IIS5隔离这种奇怪的方法,直接按iis+tomcat的说明文档配置的,记得确实有点烦,还一定要配置一个固定名字的虚拟目录等等,不过确实不需要这种“隔离”模式。貌似这个connector配置很可疑啊。
|
|
返回顶楼 | |
发表时间: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,比较繁琐,但还是搞得定的。 |
|
返回顶楼 | |
发表时间: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占了很少的内存吧 |
|
返回顶楼 | |
发表时间:2008-04-30
YRHYRH 写道
不知道你有没有使用 Apache Tomcat Native library ,基于你的硬件环境,tomcat本身有可以很大的优化调整空间。我估计你的Tomcat 死掉 当时整个机器的CPU使用率不会高,因为你的JVM占了很少的内存吧 没有使用Apache Tomcat Native library。 再次强调,TOMCAT并没有死,同一个TOMCAT里的MANAGER应用还能正常运作,速度还非常快。是本应用对请求无响应。 可以认为是应用死了。CPU占用率很低,在5%左右,JVM内存也只使用了200M左右。
|
|
返回顶楼 | |
发表时间:2008-04-30
应该是增加连接数,当连接数达到上限后,就会报timeout超时!
|
|
返回顶楼 | |
发表时间: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" /> |
|
返回顶楼 | |
发表时间:2008-05-01
为什么不做成多实例的tomcat呢。
硬件有富裕的 |
|
返回顶楼 | |
发表时间:2008-05-01
感觉是数据库问题
应用在等待数据库返回就会出现假死状态。 IIS可能收不到回应就报503 你可以在出现503的时候去查看数据库。那时候应该有死锁存在。 |
|
返回顶楼 | |