Tomcat大量并发后一直无法访问

时间:2022-09-05 20:07:54
当前为Tomcat配置了HTTP及HTTPS两种访问方式。当存在大量并发时,发现当HTTP线程(约600)与HTTPS线程(约400)之和达到1K多时(通过manager/status查看),访问页面基本处于长时间无响应状态。此时无响应如果理解为已达Tomcat并发极限,不能接受新的连接,尚可接受,但是问题是,当外部访问连接数降低后,尝试连接Tomcat还是没有响应。

环境:Win2008+JRE1.4.2+Tomcat5.0+postgresql8.2(系统开发比较早,所以版本较旧)

查看log,能够发现以下异常:
30.Mar.2011 15:28:24 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run
SEVERE: Caught exception (java.lang.OutOfMemoryError: unable to create new native thread) executing org.apache.tomcat.util.net.TcpWorkerThread@1ae06b5, terminating thread

烦请有经验的各位帮忙分析一下原因所在。

7 个解决方案

#1


该回复于2011-03-31 10:20:28被版主删除

#2


当外部访问连接数降低后,尝试连接Tomcat还是没有响应。



你让外部访问连接数降低后,刷新Tomcat没?

#3


引用 2 楼 javaxiaochouyu 的回复:
当外部访问连接数降低后,尝试连接Tomcat还是没有响应。



你让外部访问连接数降低后,刷新Tomcat没?


何谓刷新Tomcat?

#4


继续求解。

#5


补充一点,当访问量大,HTTP还可以正常提供服务的时候,HTTPS可能就已经不行了。

#6


java.lang.OutOfMemoryError
windows下jvm内存限制,已经溢出了

换成64位的linux,升级你的JDK linux用epoll可解决你的问题 并发突破1k很轻松

#7


引用 6 楼 liyong705 的回复:
java.lang.OutOfMemoryError
windows下jvm内存限制,已经溢出了

换成64位的linux,升级你的JDK linux用epoll可解决你的问题 并发突破1k很轻松


换服务器不可能,我们有Linux的版本,但是客户选择了早期的Windows版。

#1


该回复于2011-03-31 10:20:28被版主删除

#2


当外部访问连接数降低后,尝试连接Tomcat还是没有响应。



你让外部访问连接数降低后,刷新Tomcat没?

#3


引用 2 楼 javaxiaochouyu 的回复:
当外部访问连接数降低后,尝试连接Tomcat还是没有响应。



你让外部访问连接数降低后,刷新Tomcat没?


何谓刷新Tomcat?

#4


继续求解。

#5


补充一点,当访问量大,HTTP还可以正常提供服务的时候,HTTPS可能就已经不行了。

#6


java.lang.OutOfMemoryError
windows下jvm内存限制,已经溢出了

换成64位的linux,升级你的JDK linux用epoll可解决你的问题 并发突破1k很轻松

#7


引用 6 楼 liyong705 的回复:
java.lang.OutOfMemoryError
windows下jvm内存限制,已经溢出了

换成64位的linux,升级你的JDK linux用epoll可解决你的问题 并发突破1k很轻松


换服务器不可能,我们有Linux的版本,但是客户选择了早期的Windows版。