Apache重负荷服务器应如何优化
时间:2008-11-22
来源:互联网
一天两万个请求确实不大,但如果在高峰时期出现,而晚间或其它时间没有,呈正态分布,且均是需要时间的下载服务,那负载还是很大的。
Apache允许为请求开的最大进程数是256,MaxClients的限制是256.如果用户多了,用户就只能看到Waiting for reply....然后等到下一个可用进程的出现。这个最大数,是Apache的程序决定的--它的NT版可以有1024,但Unix版只有256,你可以在src/include/httpd.h中
看到:
#ifndef HARD_SERVER_LIMIT
#ifdef WIN32
#define HARD_SERVER_LIMIT 1024
#else
#define HARD_SERVER_LIMIT 256
#endif
#endif
你可以把它调到1024,然后再编译你的系统。记得在httpd.conf里也
要更改相应配置,缺省好象是150。就下面的机器来说,调到512顶
死了,如果再高,系统受不了。
另外,一些系统也限制了一个用户的最大进程数。你可以用ulimit -u
来看。Linux一般是256。因此你要真想让Apache超过这个数,就得调整
这个参数:
ulimit -u unlimited
这个参数要在Apache运行之前修改,因此建议加到apachectl里:
case $ARG in
start)
if [ $RUNNING -eq 1 ]; then
echo "{GetProperty(Content)} $ARG: httpd (pid $PID) already running"
continue
改成
case $ARG in
start)
ulimit -u unlimited
if [ $RUNNING -eq 1 ]; then
echo "{GetProperty(Content)} $ARG: httpd (pid $PID) already running"
continue
Apache允许为请求开的最大进程数是256,MaxClients的限制是256.如果用户多了,用户就只能看到Waiting for reply....然后等到下一个可用进程的出现。这个最大数,是Apache的程序决定的--它的NT版可以有1024,但Unix版只有256,你可以在src/include/httpd.h中
看到:
#ifndef HARD_SERVER_LIMIT
#ifdef WIN32
#define HARD_SERVER_LIMIT 1024
#else
#define HARD_SERVER_LIMIT 256
#endif
#endif
你可以把它调到1024,然后再编译你的系统。记得在httpd.conf里也
要更改相应配置,缺省好象是150。就下面的机器来说,调到512顶
死了,如果再高,系统受不了。
另外,一些系统也限制了一个用户的最大进程数。你可以用ulimit -u
来看。Linux一般是256。因此你要真想让Apache超过这个数,就得调整
这个参数:
ulimit -u unlimited
这个参数要在Apache运行之前修改,因此建议加到apachectl里:
case $ARG in
start)
if [ $RUNNING -eq 1 ]; then
echo "{GetProperty(Content)} $ARG: httpd (pid $PID) already running"
continue
改成
case $ARG in
start)
ulimit -u unlimited
if [ $RUNNING -eq 1 ]; then
echo "{GetProperty(Content)} $ARG: httpd (pid $PID) already running"
continue
作者: soho176 发布时间: 2008-11-22
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28