即使在100个并发请求中,Tomcat也会挂起

时间:2011-03-18 20:51:11

标签: java performance tomcat

我在tomcat服务器上部署了一个大型战争(600 mb)。它是一个伟大的项目,因此用户数量。但如果计算它一次不应超过100。但是我的tomcat即使在这个小数字中也会出现问题。问题是服务器机器配置,我可以说它是一台普通的开发者机器,配备2GB Ram和Core 2 duo处理器。但我认为处理至少100-200并发请求应该没问题?能否请您建议任何解决方案,而不是升级服务器机器配置。我知道堆栈专业知识肯定会帮助我。

是的!我已经注意了打开的连接和代码样式。

非常感谢你。

4 个答案:

答案 0 :(得分:4)

简介吧! YourKit。我相信你会找到答案。

答案 1 :(得分:3)

  1. 检查server.xml中的maxThreadsacceptCount设置:http://tomcat.apache.org/tomcat-6.0-doc/config/http.html#Standard_Implementation

  2. 在Windows上发送kill -3信号(Ctrl-Break)并分析线程转储(可能在catalina.out中)

答案 2 :(得分:1)

这取决于您对并发使用的定义。

如果您正考虑随时提供100个请求,并假设一个请求需要1秒才能平均完成,那么每月就会达到2.6亿次点击。相比之下,Stackoverflow.com每月的页面浏览量为9500万次。我怀疑它是在一台PC上托管的。

这仍然是一个有趣的问题,为什么Stackoverflow.com不能托管在一台PC上?从技术上讲这似乎不太可能。但与开发成本相比,经济上的托管成本非常小。

答案 3 :(得分:0)

600MB的战争,可能肯定会有一些静态内容,尝试从Apache webserver服务它们。你可以使用Apache - Tomcat负载均衡技术。

其次,尝试增加分配tomcat JVM的堆内存,这可能会有所帮助!