亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

CentOS系統Apache服務器優化

添加時間:2011-2-19  添加: admin 

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

1.Apache優化

Apache能夠在CentOS系統正常運行。但是,對于訪問量稍大的站點,Apache的這些默認配置是無法滿足需求的,我們仍需調整Apache的一些參數,使Apache能夠在大訪問量環境下發揮出更好的性能。CentOS系統中,以下我們對Apache配置文件httpd.conf中對性能影響較大的參數進行一些說明。

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

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

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

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

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

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

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

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

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

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

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

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

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

完成了上述CentOS系統中對Apache的調整,Apache已經獲得了較大的性能改善。記住,在修改任何參數后都需要重啟Apache才能生效的。有關Apache的優化遠遠不止這些,有興趣的用戶可以閱讀Apache手冊文檔或者尋找一些文獻資料學習。


關鍵字:CentOS 系統 Apache 服務器 優化

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站