论坛首页 Java企业应用论坛

单服务器 单tomcat集群

浏览 29250 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-03-23  
hongliang 写道
winterwolf 写道

我的ajax部分经过apache proxy就出错 所以我被迫只能用tomcat.


有空我试试,不过我估计应该是你自己的问题。



好像和http post有关 我是在cocoon中使用ajax.

apache2.2 太大了 看着就没有安全感  出于安全考虑不用也没什么不好.
0 请登录后投票
   发表时间:2006-03-23  
winterwolf 写道
好像和http post有关 我是在cocoon中使用ajax.
apache2.2 太大了 看着就没有安全感  出于安全考虑不用也没什么不好.


只是源码包大叻而已吧,最后应该还是取决于怎么编译吧。我这里每个httpd进程占用内存是1.5M兆(带mod_proxy),以前还真没注意旧版本的大小。
0 请登录后投票
   发表时间:2006-03-23  
是啊 我也只用http proxy proxyajp  configure就累死人

make比编译linux内核还慢

make install 以后莫名奇妙的装了一大堆没用的东西.  shock
0 请登录后投票
   发表时间:2006-03-23  
winterwolf 写道
是啊 我也只用http proxy proxyajp  configure就累死人

make比编译linux内核还慢

make install 以后莫名奇妙的装了一大堆没用的东西. 


绝对没这么夸张,我在不同的机器上编译叻不下几十次叻,无论是configure还是make/make install速度都狠快啊,整个过程不超过5分钟。。。make install之后用httpd -l察看module,也就那么几个啊。你怎么configure的?

我的:
./configure --prefix=/usr/local/apache2 
--disable-authn-file --disable-authn-default 
--disable-authz-host --disable-authz-groupfile 
--disable-authz-user --disable-authz-default 
--disable-auth-basic --disable-include --disable-filter 
--disable-charset-lite --disable-status --disable-autoindex 
--disable-asis --disable-cgid --disable-cgi 
--disable-negotiation --disable-actions --disable-userdir 
--disable-alias --disable-env --disable-setenvif 
--enable-proxy --enable-proxy-ajp 
--enable-proxy-balancer
0 请登录后投票
   发表时间:2006-03-23  
winterwolf 写道
on tomcat

connecter 1  8001端口

connecter 2  8002端口

on linux use iptables

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8001-8002

可以大幅提高服务性能 我只用两个connecter 做负载均衡 测试结果显示
在各种并发条件下(非极限) Response time 平均缩短 40%  cpu负荷降低10%以上  用鼠标点击都能感觉到速度的大幅提升. 这个结果真是出人意料 !

没有做更多connecter端口的负载均衡 测试

希望大家继续 让我们看看这个内部的"集群"有多大潜能


不知道你用的是tomcat哪个版本? 有没有用apr?tomcat5.5.10以上版本支持apr,支持通过apache runtime module进行JNI调用,使用本地代码来加速网络处理。

如果不使用apr之前,Tomcat的Servlet线程池使用的是阻塞IO的模式,使用apr之后,线程池变成了NIO的非阻塞模式,而且这种NIO还是使用了操作系统的本地代码,看tomcat文档上面的说法是,极大提升web处理能力,不再需要专门放一个web server处理静态页面了。

我自己直观的感受是,不用apr之前,你配置多少个等待线程,tomcat就会启动多少个线程挂起等待,使用apr以后,不管你配置多少,就只有几个NIO调度的线程,这一点你可以通过kill -3 PID,然后察看log得知。

假设不使用apr,可能端口的线程调度能力比较差,所以通过iptables进行端口转发,让两个端口去分担一个端口的线程调度,就有可能减少线程调度的并发,从而提高处理能力,减少资源消耗。

我建议你可以加上apr支持,再测试一下,看看有没有效率上面比较明显的差异。
0 请登录后投票
   发表时间:2006-03-23  
我前段时间, 工作中做了一个clustering 在我一台机子上。 Apache 2.0. x + mod_jk-1.2.x + 2个Tomcat.  session sticky approach.  只实现了load balancing. 没有做session replication. 因为session replication太慢. 但是就仅是load balancing.  我只在我自已的机子上运行了一下, 我觉得速度不快。反而比以前慢了。 我想, 如果 Apache 2.0. x + mod_jk-1.2.x + 2个Tomcat, 布置在不同的机子上, 性能会提升很多吧.  我认为, clustering 更重要的一点应是high availability.   Tomcat 如果死了, 那里还有tomcat性能问题。
0 请登录后投票
   发表时间:2006-03-24  
"不知道你用的是tomcat哪个版本? 有没有用apr?tomcat5.5.10以上版本支持apr,支持通过apache runtime module进行JNI调用,使用本地代码来加速网络处理。

如果不使用apr之前,Tomcat的Servlet线程池使用的是阻塞IO的模式,使用apr之后,线程池变成了NIO的非阻塞模式,而且这种NIO还是使用了操作系统的本地代码,看tomcat文档上面的说法是,极大提升web处理能力,不再需要专门放一个web server处理静态页面了。

我自己直观的感受是,不用apr之前,你配置多少个等待线程,tomcat就会启动多少个线程挂起等待,使用apr以后,不管你配置多少,就只有几个NIO调度的线程,这一点你可以通过kill -3 PID,然后察看log得知。

假设不使用apr,可能端口的线程调度能力比较差,所以通过iptables进行端口转发,让两个端口去分担一个端口的线程调度,就有可能减少线程调度的并发,从而提高处理能力,减少资源消耗。

我建议你可以加上apr支持,再测试一下,看看有没有效率上面比较明显的差异。"

我用的是5.5.15 jdk1.5_06  应该可以使用apr.  不过在上面的测试没有用apr.

配置apr挺麻烦 不过好像应该尝试一下.

顺便问一下 是否有人熟悉QoS 有没有办法通过QoS对付DDoS半连接攻击 (比如可以随机Drop 至少可以用较低的带宽继续访问服务)
0 请登录后投票
   发表时间:2006-03-24  
"我前段时间, 工作中做了一个clustering 在我一台机子上。 Apache 2.0. x + mod_jk-1.2.x + 2个Tomcat.  session sticky approach.  只实现了load balancing. 没有做session replication. 因为session replication太慢. 但是就仅是load balancing.  我只在我自已的机子上运行了一下, 我觉得速度不快。反而比以前慢了。 我想, 如果 Apache 2.0. x + mod_jk-1.2.x + 2个Tomcat, 布置在不同的机子上, 性能会提升很多吧.  我认为, clustering 更重要的一点应是high availability.   Tomcat 如果死了, 那里还有tomcat性能问题。"


apache先死的可能性很大
0 请登录后投票
   发表时间:2006-03-24  
APR 确实厉害 !  单独用了一下 没有做负载均衡 太困了.

明天用4个connect看看能出什么结果
0 请登录后投票
   发表时间:2006-03-24  
bruce 写道
我前段时间, 工作中做了一个clustering 在我一台机子上。 Apache 2.0. x + mod_jk-1.2.x + 2个Tomcat.  session sticky approach.  只实现了load balancing. 没有做session replication. 因为session replication太慢. 但是就仅是load balancing.  我只在我自已的机子上运行了一下, 我觉得速度不快。反而比以前慢了。 我想, 如果 Apache 2.0. x + mod_jk-1.2.x + 2个Tomcat, 布置在不同的机子上, 性能会提升很多吧.  我认为, clustering 更重要的一点应是high availability.   Tomcat 如果死了, 那里还有tomcat性能问题。


如果不快反而慢,估计是你机器撑不住。在生产环境上,apache + n个tomcat还是狠有优势的。
0 请登录后投票
论坛首页 Java企业应用版

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