日期:2014-05-17  浏览次数:20875 次

tomcat可以承载多少并发用户?
哥们要做个网站,用到的框架是与Tomcat绑定的,我实在不想麻烦把这个框架移到别的服务器产品上,如Glassfish等。
我想直接就用Tomcat,我知道它是个轻量级的、适用于初学者学习的,但是它的功能现在已经完全满足了我的需要。
我想问,我把Tomcat用于实际网站中,可行吗,最多支持多少并发用户?是不是很容易就崩溃掉?
同时使用系统的用户估计最多500人吧。
谢谢!

------解决方案--------------------
当一个进程有 500 个线程在跑的话,那性能已经是很低很低了。Tomcat 默认配置的最大请求数是 150,也就是说同时支持 150 个并发,当然了,也可以将其改大。

当某个应用拥有 250 个以上并发的时候,应考虑应用服务器的集群。

具体能承载多少并发,需要看硬件的配置,CPU 越多性能越高,分配给 JVM 的内存越多性能也就越高,但也会加重 GC 的负担。

操作系统对于进程中的线程数有一定的限制:

Windows 每个进程中的线程数不允许超过 2000
Linux 每个进程中的线程数不允许超过 1000

另外,在 Java 中每开启一个线程需要耗用 1MB 的 JVM 内存空间用于作为线程栈之用。
------解决方案--------------------
Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与硬件性能和CPU数量都有很大关系的。更好的硬件,更多的处理器都会使Tomcat支持更多的并发。同时使用系统的用户估计最多500人的话,Tomcat应该是没问题的。

------解决方案--------------------
这个要看你的版本信息以及配置了。以前做个测试。
系统环境不同,Tomcat版本不同、JDK版本不同、以及修改的设定参数不同。并发量的差异还是满大的。
所以你只许测试自己的环境就行了。
------解决方案--------------------
tomcat没你说的那么差,它已经是个相当成熟的产品。
------解决方案--------------------
那就用jboss吧
jboss 不需要老重启啊
火龙果 真是猛啊 学习了
------解决方案--------------------
不过LZ 你的网站tomcate够了
我们公司都做成门户网站了也是用tomcate做服务器的啊
------解决方案--------------------
火龙果。。。很 
牛 X 。。。

向他学习。。。。!!!

------解决方案--------------------
向各位学习一下
------解决方案--------------------
学习了。。。
------解决方案--------------------
呵呵学习了。。。
------解决方案--------------------
在javaeye上看到的 对你应该有帮助
如何在WINDOW下配置TOMCAT APR:

 

APR是什么呢,(Tomcat can use the Apache Portable Runtime to provide superior scalability, performance, and better integration with native server technologies. )

Windows下的安装配置与使用
1、先去 http://tomcat.heanet.ie/native/ 下载编译好的 tcnative-1.dll 文件

2、把tcnative-1.dll文件放在Tomcat的bin目录下

然后启动TOMCAT,如果看到以下信息:

2008-8-31 17:28:59 org.apache.coyote.http11.Http11AprProtocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2008-8-31 17:28:59 org.apache.coyote.ajp.AjpAprProtocol start]则配置成功

 

然后你可以用APACHE的AB命令测试下效果.

ab -n 1000 -c 300 http://localhost:8080/turbine/index.jsp

 

相关APR的参数配置可以参考以下文档:

http://tomcat.apache.org/tomcat-5.5-doc/apr.html

 

 

 

 

如何查看TOMCAT的并发访问量:

我们进入TOMCAT服务管理页面(http://localhost:8080/manager/status),可以看到下面这段文字
http-8080

Max threads: 1000 Min spare threads: 0 Max spare threads: 0 Current thread count: 303 Current thread busy: 234 Keeped alive sockets count: 0
Max processing time: 23531 ms Processing time: 29287.717 s Request count: 2980 Error count: 0 Bytes received: 0.00 MB Bytes sent: 12.61 MB

 

Current thread count: 303 这个参数则代表当前TOMCAT的并发访问量
这是我TOMCAT服务器的配置:

 
XML code

<Connector port="8080" maxHttpHeaderSize="8192" pollerSize="10025"
               maxThreads="1000" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
      compression="on" compressionMinSize="2048"   
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 
               connectionTimeout="20000" disableUploadTimeout="true" sendfileSize="2048" />