免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: tianya20000
打印 上一主题 下一主题

[Web] 求救:web服务器不堪重负 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-05-27 15:28 |只看该作者
windows下的apache用的不是prefork的mpm,而是winnt,prefork的mpm在win下是无效的。修改httpd-mpm.conf下面的段
<IfModule mpm_winnt_module>
    ThreadsPerChild      150
    MaxRequestsPerChild    10000
</IfModule>
ThreadsPerChild相当于prefork模块里MaxClients起到的作用。apache在windows下是多线程的(prefork是多进程,worker是多进程+多线程),在启动apache的时候会生成2个进程,其中一个是另一个的子进程,这个子进程按照ThreadsPerChild生成相应数量的线程,每个线程负责处理一个请求。(在“任务管理器”中能观察到进程的线程数量)
MaxRequestsPerChild    不要设定的太小,因为winows下的apache是以单进程多线程去处理请求的,所以当请求达到这个数目后,负责处理请求的那个子进程就会消亡,在还没有新的子进程创建的这很短的时间里其实是无法处理请求的,会导致服务器”颠簸“,在我的普通台式机上试验了一下,大概这个时间是1~2秒

另外,没有特殊需要的话KeepAlive和HostnameLookups应该关闭

参考:
http://man.chinaunix.net/newsoft ... /mod/mpm_winnt.html
http://man.chinaunix.net/newsoft ... tml#threadsperchild

[ 本帖最后由 tiancongxin 于 2008-5-27 15:31 编辑 ]

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-09-29 06:20:00
12 [报告]
发表于 2008-05-27 15:50 |只看该作者
呵呵,受教了
没配过windows下的apache

论坛徽章:
0
13 [报告]
发表于 2008-05-28 00:12 |只看该作者
20万流量(都是静态)应该选择那个配置比较稳妥啊!现在不敢改啊!因为现在改了根本不知道明天上午流量大的时候服务器会是怎样的,昨天挂了一次,cpu占用率相对来说还高了(30%)但是访问速度慢了很多很多。。。我改回去后速度就变得很快。。占用率在5%左右 ,但是老会出错。。。

(OS 64)指定的网络名不再可用
昨天用热心网友hmglly  的配置不知道怎么现在出现了个新错误,如下:
Cannot initialize zend_mm storage [win32]
Error in my_thread_global_end(): 1149 threads didn't exit
以前没有出现过这个错误啊!恢复原来的配置还是偶尔会出现上面错误,以前从来没有见过,只是偶尔出现下(OS 64)指定的网络名不再可用这个错误,用这个Win32DisableAcceptEx解决的话,网页速度打开也是慢如蜗牛,所以干脆就不管他了。至少速度还快!

我该怎么办?怎样才是最好办法?请大家指教,这几天流量还在狂飙,真怕服务器压倒了啊!

[ 本帖最后由 tianya20000 于 2008-5-28 00:14 编辑 ]

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-09-29 06:20:00
14 [报告]
发表于 2008-05-28 09:53 |只看该作者
应该是不支持perfork的mpm导致的
按照tiancongxin  的配置来吧,改一下参数:
<IfModule mpm_winnt_module>
    ThreadsPerChild      15000
    MaxRequestsPerChild    10000
</IfModule>
既然是30%的CPU,肯定还有继续优化的空间,而且非常大,把那些参数往大了加,自己多改,我们在这里乱说一气,不如自己去调整,最好是自己看看官方上这几个参数的意义,了解了,就知道怎么去优化了

论坛徽章:
0
15 [报告]
发表于 2008-05-28 22:50 |只看该作者
那终极目标就是要使cpu利用率到达最大极限?比如经常在80%以上这样才是最佳的吗?

论坛徽章:
4
IT运维版块每日发帖之星
日期:2015-09-01 06:20:00IT运维版块每日发帖之星
日期:2015-10-09 06:20:00操作系统版块每日发帖之星
日期:2015-10-20 06:20:00IT运维版块每日发帖之星
日期:2015-11-03 06:20:00
16 [报告]
发表于 2008-05-29 00:09 |只看该作者
nginx 何不试试前苏联的东西呢,像9you.com   sohu的部份站点都在用它呢。功能强大

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-09-29 06:20:00
17 [报告]
发表于 2008-05-29 09:15 |只看该作者
原帖由 tianya20000 于 2008-5-28 22:50 发表
那终极目标就是要使cpu利用率到达最大极限?比如经常在80%以上这样才是最佳的吗?


当一个站点没有访问量时,cpu理论上是0%,当有不限量的访问量时,cpu可以达到80%以上而能正常提供服务,这样才是最好的,不是自始至终都是80%以上,像楼主的那样,无论怎么加负载,CPU只到30%,那就说明有继续优化的必要

[ 本帖最后由 hmglly 于 2008-5-29 09:17 编辑 ]

论坛徽章:
0
18 [报告]
发表于 2008-05-29 23:18 |只看该作者
非常感谢你这几天对该问题的关注,我会慢慢尝试的,等我找到平衡点再来谢谢你呵!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP