(1) Timeout 該參數(shù)指定Apache在接收請(qǐng)求或發(fā)送所請(qǐng)求內(nèi)容之前的最長(zhǎng)等待時(shí)間(秒),若超過(guò)該時(shí)間Apache則放棄處理該請(qǐng)求,并釋放連接。該參數(shù)默認(rèn)值為120,推薦設(shè)置為60,對(duì)于訪問(wèn)量較大的網(wǎng)站可以設(shè)置為30。
(2) KeepAlive 該參數(shù)控制Apache是否允許在一個(gè)連接中有多個(gè)請(qǐng)求,默認(rèn)打開。但對(duì)于大多數(shù)論壇類型站點(diǎn)來(lái)說(shuō),通常設(shè)置為off以關(guān)閉該支持。
(3) MPM - prefork.c 在默認(rèn)情況下Apache使用Prefork(進(jìn)程)工作模式,可以說(shuō)這部分的參數(shù)設(shè)置是對(duì)Apache性能影響的核心和關(guān)鍵。用戶可以在配置文檔中找到以下配置段:
CODE:
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 15
MaxRequestsPerChild 0
這就是控制Apache進(jìn)程工作的配置段,為了更好的理解上述配置中的各項(xiàng)參數(shù),下面讓我們先了解一下Apache是如何控制進(jìn)程工作的。我們知道,在Unix系統(tǒng)中,很多服務(wù)(Service)的守護(hù)進(jìn)程(Daemon)在啟動(dòng)時(shí)會(huì)創(chuàng)建一個(gè)進(jìn)程以準(zhǔn)備應(yīng)答可能的連接請(qǐng)求,服務(wù)即進(jìn)入了端口監(jiān)聽狀態(tài),當(dāng)一個(gè)來(lái)自客戶端(Client)的請(qǐng)求被發(fā)送至服務(wù)所監(jiān)聽的端口時(shí),該服務(wù)進(jìn)程即會(huì)處理該請(qǐng)求,在處理過(guò)程中,該進(jìn)程處于獨(dú)占狀態(tài),也就是說(shuō)如果此時(shí)有其他請(qǐng)求到達(dá),這些請(qǐng)求只能“排隊(duì)”等待當(dāng)前請(qǐng)求處理完成且服務(wù)進(jìn)程釋放。這樣就會(huì)導(dǎo)致越來(lái)越多的請(qǐng)求處于隊(duì)列等待狀態(tài),實(shí)際表現(xiàn)就是該服務(wù)處理能力非常低下。Apache使用Prefork模式很好的解決了這一問(wèn)題。下面我們來(lái)看看Apache實(shí)際上是如何高效率工作的。
當(dāng)Apache啟動(dòng)時(shí),Apache會(huì)啟動(dòng)StartSpareServers個(gè)空閑進(jìn)程同時(shí)準(zhǔn)備接收處理請(qǐng)求,當(dāng)多個(gè)請(qǐng)求到來(lái)時(shí),StarSpareServers進(jìn)行會(huì)越來(lái)越少,當(dāng)空閑進(jìn)程減少到MinSpareServers個(gè)時(shí),Apache為了能夠繼續(xù)有充裕的進(jìn)程處理請(qǐng)求,它會(huì)再啟動(dòng)StartsServers個(gè)進(jìn)程備用,這樣就大大減少了請(qǐng)求隊(duì)列等待的可能,使得服務(wù)效率提高,這也是為什么叫做Pre-fork的原因;讓我們繼續(xù)跟蹤Apache的工作,我們假設(shè)Apache已經(jīng)啟動(dòng)了200個(gè)進(jìn)程來(lái)處理請(qǐng)求,理論上來(lái)說(shuō),此時(shí)Apache一共有205個(gè)進(jìn)程,而過(guò)了一段時(shí)間,假設(shè)有100個(gè)請(qǐng)求都得到了Apache的響應(yīng)和處理,那么此時(shí)這100個(gè)進(jìn)程就被釋放成為空閑進(jìn)程,那么此時(shí)Apache有105個(gè)空閑進(jìn)程。而對(duì)于服務(wù)而言,啟動(dòng)太多的空閑進(jìn)程時(shí)沒(méi)有任何意義的,反而會(huì)降低服務(wù)器的整體性能,那么Apache真的會(huì)有105個(gè)空閑進(jìn)程么?當(dāng)然不會(huì)!實(shí)際上Apache隨時(shí)在檢查自己,當(dāng)發(fā)現(xiàn)有超過(guò)MaxSpareServers個(gè)空閑進(jìn)程時(shí),則會(huì)自動(dòng)停止關(guān)閉一些進(jìn)程,以保證空閑進(jìn)程不過(guò)過(guò)多。說(shuō)到這里,用戶應(yīng)該對(duì)Apache的工作方式有了一定的了解,如果想獲得更多更詳細(xì)的說(shuō)明請(qǐng)參閱Apache手冊(cè)文檔。
服務(wù)器租用、托管,只有您想不到的,沒(méi)有我們做不到的,只要您選擇了我們?nèi)诰€http://www.33ol.com/,我們就會(huì)竭誠(chéng)為您服務(wù)!!!。企點(diǎn)Q:2852361322電話:13924367540