優(yōu)化Apache服務(wù)器的重負(fù)荷_Windows教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!
       Apache在一天兩萬個(gè)請(qǐng)求確實(shí)不大,但如果在高峰時(shí)期出現(xiàn),而晚間或其它時(shí)間沒有,呈正態(tài)分布,且均是需要時(shí)間的下載服務(wù),那負(fù)載還是很大的。

        Apache允許為請(qǐng)求開的最大進(jìn)程數(shù)是256,MaxClients的限制是256.如果用戶多了,用戶就只能看到Waiting for reply....然后等到下一個(gè)可用進(jìn)程的出現(xiàn)。這個(gè)最大數(shù),是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

        你可以把它調(diào)到1024,然后再編譯你的系統(tǒng)。記得在httpd.conf里也要更改相應(yīng)配置,缺省好象是150。就下面的機(jī)器來說,調(diào)到512頂死了,如果再高,系統(tǒng)受不了。

        另外,一些系統(tǒng)也限制了一個(gè)用戶的最大進(jìn)程數(shù)。你可以用ulimit -u 來看。Linux一般是256。因此你要真想讓Apache超過這個(gè)數(shù),就得調(diào)整 這個(gè)參數(shù):

        ulimit -u unlimited

        這個(gè)參數(shù)要在Apache運(yùn)行之前修改,因此建議加到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

      來源:網(wǎng)絡(luò)搜集//所屬分類:Windows教程/更新時(shí)間:2013-04-15
      相關(guān)Windows教程