[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 應用技術 > Apache > 正文
Apache重負荷服務器應如何優化
本文出自: 作者: (2001-09-25 10:00:00)

  一天兩萬個請求確實不大,但如果在高峰時期出現,而晚間或其它時間沒有,呈正態分布,且均是需要時間的下載服務,那負載還是很大的。 

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 "$0 $ARG: httpd (pid $PID) already running" 
continue 
改成 
case $ARG in 
start) 
ulimit -u unlimited 
if [ $RUNNING -eq 1 ]; then 
echo "$0 $ARG: httpd (pid $PID) already running" 
continue  
(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
如何規劃一個高容量的Apache服務器? (2001-04-21 17:40:21)
 

★  樊強制作 歡迎分享  ★