8
回答
Apache负载均衡问题
注册华为云得mate10,2.9折抢先购!>>>   

我用Apache做负载均衡,用Loadrunner做压力测试的时候,发现apache的并发量就是上不去。500个虚拟用户,并发量也只能40/s左右。但是我单独压tomcat能达到1500左右。不知道哪里的设置有问题。有没有以前做过这个帮忙解答一下。

举报
叮铛叮咚
发帖于6年前 8回/2K+阅
共有8个答案 最后回答: 5年前
我用得时windows上apache默认的mpm_winnt模式。 我觉得还是我哪里设置的问题, 不可能有这么大的差别。
你这样,你可以先断开 apache 和 tomcat ,直接在 apache 下放一个静态页面来压力测试,看看结果如何

我现在就是断开了apache和tomcat,直接压得apache。

我的mpm_winnt的设置如下:
ThreadsPerChild 1900
MaxRequestsPerChild 10000

这里明显是win+apache这个点的问题,apache在win下,并发量本不大,如果再作apache + tomcat,之间的代理转分,明显是很容易搞死apache的httpd进程(内存剧增,直到死掉或利用守护进程重启)。

所以问题应该是win + apache上。

引用来自“dcying”的答案

我现在就是断开了apache和tomcat,直接压得apache。

我的mpm_winnt的设置如下:
ThreadsPerChild 1900
MaxRequestsPerChild 10000

ThreadsPerChild 1900 
MaxRequestsPerChild 10000

在win下,有时没有用,容易失败。

引用来自“叮铛叮咚”的答案

我现在就是断开了apache和tomcat,直接压得apache。

我的mpm_winnt的设置如下:
ThreadsPerChild 1900
MaxRequestsPerChild 10000

ThreadsPerChild设置为1900太大了,同时打开那么多线程本身跑起来就慢了更何况负载。windows下上限就350, 合理的配置应该是:

ThreadsPerChild 250 
MaxRequestsPerChild 10000
或者直接默认设置:

ThreadsPerChild 150 
MaxRequestsPerChild 0
提交之前刚看到你是2011年提交的问题,相隔好几年了,不过还是提交了吧!祝你好运!

顶部