论坛首页 Java企业应用论坛

apache+2tomcat集群不如单tomcat

浏览 29207 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (2)
作者 正文
   发表时间:2012-02-22   最后修改:2012-02-22
最近做一个项目的优化,
单核4CPU 2.4G ,8G内存
操作系统:window 2008 32位
java1.6,tomcat6,apache2.2.22
用apache和2个tomcat做了负载均衡。直接在服务器上用ab做测试
ab -n10000 -c1000 http://xxx.xxx.xxx.xxx/test/index.jsp
发现吞吐率在1300左右,
ab -n10000 -c2000 http://xxx.xxx.xxx.xxx/test/index.jsp
吞吐率会直接下降到600左右。

直接用ab去压测其中的一个单tomcat
ab -n10000 -c1000 http://xxx.xxx.xxx.xxx:8081/test/index.jsp
发现吞吐率在1400左右,略优于apache+2tomcat集群
ab -n10000 -c2000 http://xxx.xxx.xxx.xxx:8081/test/index.jsp
吞吐率在1000左右

index.jsp内部不连数据库,仅是一个简单的测试JSP。修改了ThreadsPerChild 到1500。tomcat修改maxThreads到500和 -Xmx到1024M,别的没基本没做什么优化。现在可以肯定硬件是没有问题的,因为测试的时候,CPU最多到了50%,内存到2.5G。从测试来看的话,apache+tomcat的小集群还不如单tomcat?各位遇到过这种情况没?
我是相信apache的,主观上认为apache+2tomcat的小集群相比单tomcat是有很大优势,只是这种情况,问题会出现在什么地方?
   发表时间:2012-02-22  
你的apache和tomcat都放在一台服务器上?
0 请登录后投票
   发表时间:2012-02-22   最后修改:2012-02-22
方世玉 写道
你的apache和tomcat都放在一台服务器上?

对,这个的影响应该不大吧?
0 请登录后投票
   发表时间:2012-02-22  
因为在这个场景下,大部分时间耗在apache反向代理上了。。。肯定比你直接访问页面来得慢啊,你的页面啥都没做嘛,直接返回了。。。
0 请登录后投票
   发表时间:2012-02-22  
timedifier 写道
因为在这个场景下,大部分时间耗在apache反向代理上了。。。肯定比你直接访问页面来得慢啊,你的页面啥都没做嘛,直接返回了。。。

恩,我用的mod_jk的方式做得负载均衡。如果我测试页面做了大量的业务逻辑包括走数据库等,是否apache的优势就体现出来了?我测试下这种情况,呵呵。
0 请登录后投票
   发表时间:2012-02-22  
还有抛开这些上层的服务器来看,以你现在的配置情况来看,实际上就是你一台机子在处理数据,你在一台机子上起这么多服务器,表面上看是集群,实际上还不是一个cup,内存,硬盘去处理数据,反倒浪费了资源,我觉得要多搞几台机子,比如:apache一台,tomcat1一台,tomcat2一台,然后访问的页面做点耗时的处理效果才能出来啊。。。我是这么认为的。。。
0 请登录后投票
   发表时间:2012-02-22  
独上西楼 写道
timedifier 写道
因为在这个场景下,大部分时间耗在apache反向代理上了。。。肯定比你直接访问页面来得慢啊,你的页面啥都没做嘛,直接返回了。。。

恩,我用的mod_jk的方式做得负载均衡。如果我测试页面做了大量的业务逻辑包括走数据库等,是否apache的优势就体现出来了?我测试下这种情况,呵呵。


不用这么麻烦吧,直接在jsp里面循环个1000000来模拟就行了。。。
0 请登录后投票
   发表时间:2012-02-22  
恩,其实一开始我也是这么想得,只是现在增加服务器在流程上比较麻烦,这个可以先不考虑。现在一台机器上弄个小集群,一个是想把机器的硬件得到更大的利用,一个也是想做个备份,如果只有单tomcat,万一宕机就麻烦了。呵呵。
0 请登录后投票
   发表时间:2012-02-22  
顺面推荐一本好书:构建高性能WEB站点 郭欣著 ,同学可以去看看,肯定有帮助~~
0 请登录后投票
   发表时间:2012-02-22  
呵呵,谢谢推荐。这本书我正在看,刚开始看,呵呵。
刚测试了下,在for(int i =1;i<1000000;i++){}的情况下
ab -n10000 -c1000 apache和单tomcat的吞吐率基本一致,850左右
循环10000000的情况
ab -n10000 -c1000 apache和单tomcat的吞吐率也基本一致,440左右
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics