快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

关于Tomcat的并发处理能力

记得哪次参加Borland的会议,李维先生曾经说过Tomcat4是一个很差的版本,做负载测试的时候100个并发就可以让Server挂掉。但是4.1就很好。正巧前几天实验室和某公司开碰头会,想敲定未来的一个B/S系统的开发平台,就要.NET和Java中选择一个。从我个人的喜恶角度讲,我是很倾向JAVA平台的。但是公司那边却始终坚持.NET。当我问及为何如此倾向于微软的.NET平台时,他们反问,假如选择JAVA平台的话使用什么Server软件?WebSphere?WebLogic?这些都太贵。我们的软件开发出来也就买个十几万,结果一个Server都比我们的软件贵,推不动的。我说,那可以考虑Tomcat啊,免费的。公司技术的回答是:"Tomcat,30个并发就崩溃掉了。"当时我并没有做过Tomcat的负载能力测试,因此也就没有接话。但是这句话一直留在我脑海里。因为我根本不相信经历了3、4、5三个重大版本升级后的 Tomcat会这么差。事实总是胜于雄辩的。一切分析推理不如一次测试来得实在。这两天业余时间就基本都用来写这个测试工具了。测试工具是用Delphi2005写的Win32应用。基本原理就是同时(基本上如此吧,生成一个新线程,再包括线程里面包含的HTTP连接控件,总归是会花点时间的,所有线程的生成在一个循环中完成)生成一堆线程,每一个线程有一个单独的HTTP连接。这就跟某些恶意攻击工具的原理应该是相同的。测试结果如下:Tomcat 5.0.28/JDK1.4.2_05/Win2003,安装之后的默认配置不动(大概是最多150处理线程/JVM64M),连接http://127.0.0.1:8080(也就是返回Tomcat的默认页),通过1000并发连接测试(反正所有的哀求陆陆续续都准确响应了)。整个测试用时10.72秒。IIS6.0/Win2003。安装后默认配置不动(不限制连接数),连接http://127.0.0.1:80(也就是返回IIS的默认页),测试顺利完成,完成测试用时9.98秒。当然,我这个简朴的测试并不想说明Tomcat和IIS哪个更好,因为它根本就不严谨(IIS和Tomcat返回的默认页长度就有很大差别)。只是想告诉那些抱有"Tomcat在30个并发的环境下就会崩溃"的程序员,Tomcat,或者说最起码是Tomcat5.0.28,是一个很健壮,很值得我们考虑采用的Web Server。



返回类别: 教程
上一教程: JAVA+ACCESS编程体会
下一教程: Struts国际化问题解决

您可以阅读与"关于Tomcat的并发处理能力"相关的教程:
· 关于java非常处理机制的深入理解
· 关于JAVAMAIL处理中文附件的问题
· Catalina-tomcat中处理非常的一个BUG?
· java关于日期的运算等处理方式
· 上次java socket 的问题已解决,这次关于trigger问题了
    微笑服务 优质保证 索取样品