久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

CentOS系統(tǒng)Apache服務(wù)器優(yōu)化詳解

 全傾全力 2014-05-14

Apache是世界使用排名第一的Web服務(wù)器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上,,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。現(xiàn)在我們就來看看在CentOS系統(tǒng)中Apache的優(yōu)化。

1.Apache優(yōu)化

Apache能夠在CentOS系統(tǒng)正常運行,。但是,對于訪問量稍大的站點,Apache的這些默認配置是無法滿足需求的,我們?nèi)孕枵{(diào)整Apache的一些參數(shù),使Apache能夠在大訪問量環(huán)境下發(fā)揮出更好的性能。CentOS系統(tǒng)中,,以下我們對Apache配置文件httpd.conf中對性能影響較大的參數(shù)進行一些說明,。

(1)Timeout該參數(shù)指定Apache在接收請求或發(fā)送所請求內(nèi)容之前的最長等待時間(秒),若超過該時間Apache則放棄處理該請求,并釋放連接,。該參數(shù)默認值為120,推薦設(shè)置為60,對于訪問量較大的網(wǎng)站可以設(shè)置為30,。

(2)KeepAlive該參數(shù)控制Apache是否允許在一個連接中有多個請求,默認打開。但對于大多數(shù)論壇類型站點來說,通常設(shè)置為off以關(guān)閉該支持,。

(3)MPM-prefork.c在默認情況下Apache使用Prefork(進程)工作模式,可以說這部分的參數(shù)設(shè)置是對Apache性能影響的核心和關(guān)鍵,。用戶可以在配置文檔中找到以下配置段:

  1. <IfModuleprefork.c> 
  2. StartServers5  
  3. MinSpareServers5  
  4. MaxSpareServers10  
  5. MaxClients15  
  6. MaxRequestsPerChild0  
  7. IfModule> 

這就是控制Apache進程工作的配置段,為了更好的理解上述配置中的各項參數(shù),下面讓我們先了解一下Apache是如何控制進程工作的。我們知道,在Unix系統(tǒng)中,很多服務(wù)(Service)的守護進程(Daemon)在啟動時會創(chuàng)建一個進程以準備應(yīng)答可能的連接請求,服務(wù)即進入了端口監(jiān)聽狀態(tài),當(dāng)一個來自客戶端(Client)的請求被發(fā)送至服務(wù)所監(jiān)聽的端口時,該服務(wù)進程即會處理該請求,在處理過程中,該進程處于獨占狀態(tài),也就是說如果此時有其他請求到達,這些請求只能“排隊”等待當(dāng)前請求處理完成且服務(wù)進程釋放,。

這樣就會導(dǎo)致越來越多的請求處于隊列等待狀態(tài),實際表現(xiàn)就是該服務(wù)處理能力非常低下,。Apache使用Prefork模式很好的解決了這一問題。下面我們來看看Apache實際上是如何高效率工作的,。

當(dāng)Apache啟動時,Apache會啟動StartSpareServers個空閑進程同時準備接收處理請求,當(dāng)多個請求到來時,StarSpareServers進行會越來越少,當(dāng)空閑進程減少到MinSpareServers個時,Apache為了能夠繼續(xù)有充裕的進程處理請求,它會再啟動StartsServers個進程備用,這樣就大大減少了請求隊列等待的可能,使得服務(wù)效率提高,這也是為什么叫做Pre-fork的原因;讓我們繼續(xù)跟蹤Apache的工作,我們假設(shè)Apache已經(jīng)啟動了200個進程來處理請求,理論上來說,此時Apache一共有205個進程,而過了一段時間,假設(shè)有100個請求都得到了Apache的響應(yīng)和處理,那么此時這100個進程就被釋放成為空閑進程,那么此時Apache有105個空閑進程,。而對于服務(wù)而言,啟動太多的空閑進程時沒有任何意義的,反而會降低服務(wù)器的整體性能,那么Apache真的會有105個空閑進程么?

當(dāng)然不會!實際上Apache隨時在檢查自己,當(dāng)發(fā)現(xiàn)有超過MaxSpareServers個空閑進程時,則會自動停止關(guān)閉一些進程,以保證空閑進程不過過多。說到這里,用戶應(yīng)該對Apache的工作方式有了一定的了解,如果想獲得更多更詳細的說明請參閱Apache手冊文檔,。

我們還有兩個CentOS系統(tǒng)參數(shù)沒有介紹:MaxClients和MaxRequestPerchild;MaxClients指定Apache在同一時間內(nèi)最多允許有多少客戶端能夠與其連接,如果超過MaxClients個連接,客戶端將會得到一個“服務(wù)器繁忙”的錯誤頁面,。我們看到默認情況下MaxClients設(shè)置為15,這對一些中型站點和大型站點顯然是遠遠不夠的!也許您需要同時允許512個客戶端連接才能滿足應(yīng)用需求,好吧,那么就讓我們把MaxClients修改為512,保存httpd.conf并退出,重啟Apache,很遺憾,在重啟過程當(dāng)中您看到了一些錯誤提示,Apache重啟失敗。

錯誤提示中告訴您MaxClients最大只能設(shè)定為256,相信您一定很失望,。不過不要沮喪,Apache作為世界一流的WebServer一定不會如此單薄的!在默認情況下,MaxClients的確只能設(shè)定為不超過256的整數(shù),但是,如果您有需要完全可以隨意定制,此時就需要使用ServerLimit參數(shù)來配合使用,簡單的說ServerLimit就像是水桶,而MaxClients就像是水,您可以通過更換更大的水桶(將ServerLimit設(shè)定為一個較大值)來容納更多的水(MaxClients),但要注意,MaxClients的設(shè)定數(shù)值是不能大于ServerLimit的設(shè)定數(shù)值的!

下面讓我們了解一下MaxRequestPerChild參數(shù),該參數(shù)指定一個連接進程中可以有多少個線程同時工作,。也許這樣解釋過于專業(yè),那么您只要想想“網(wǎng)絡(luò)螞蟻”、“網(wǎng)際快車FlashGet”中的“多點同時下載”即可,該參數(shù)實際上就是限制最多可以用幾個“點”,。默認設(shè)置為0,即為:不限制,。但需要注意,如果將該值設(shè)置的過小會引起訪問問題,如果沒有特殊需要或者訪問量壓力并非很大可以保持默認值,如果訪問量很大則推薦設(shè)置為2048。

好了,解釋了這么多,讓我們看看經(jīng)過修改后Perfork.c配置段的推薦配置:

  1. <IfModuleprefork.c> 
  2. StartServers5  
  3. MinSpareServers5  
  4. MaxSpareServers10  
  5. ServerLimit1024  
  6. MaxClients768  
  7. MaxRequestsPerChild0  
  8. IfModule> 

完成了上述CentOS系統(tǒng)中對Apache的調(diào)整,Apache已經(jīng)獲得了較大的性能改善,。記住,在修改任何參數(shù)后都需要重啟Apache才能生效的,。有關(guān)Apache的優(yōu)化遠遠不止這些,有興趣的用戶可以閱讀Apache手冊文檔或者尋找一些文獻資料學(xué)習(xí)。

【編輯推薦】

  1. 問題解決CentOS系統(tǒng)自動掛載光驅(qū)
  2. CentOS系統(tǒng) aMule 編譯
  3. 保衛(wèi)你的CentOS系統(tǒng)安全
  4. 你要如何選擇RHEL CentOS系統(tǒng)
  5. 在CentOS系統(tǒng)安裝配置proftpd
【責(zé)任編輯:小霞 TEL:(010)68476606】

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多