最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

優(yōu)化Apache服務器性能的方法小結

 更新時間:2010年12月17日 10:47:00   作者:  
盡管Apache是一個高可定制的功能強大且相當復雜的服務器軟件,我們很有興趣的注意到即使是Apache的標準安裝也可以得到不錯的性能。

測試與提高性能

Apache服務器已經(jīng)被設計得盡可能的快,即使你用一臺配置不高的機器,用不著進行太復雜的設置,它的響應內(nèi)容就足以塞滿以前的各種窄帶連接。但隨網(wǎng)站內(nèi)容日益復雜和帶寬的增加,對Apache進行優(yōu)化以取得更好的性能變得日益重要起來。

如果優(yōu)化的結果僅僅是極小的性能提升那真是浪費時間。試想一下,你花了好幾個小時甚至幾天調(diào)整Apache的各種參數(shù)但結果僅是幾個百分點的性能提升?因此,在優(yōu)化前你做的第一步應該是測試你目前的服務器的性能水平以便決定如何優(yōu)化你的服務器并衡量優(yōu)化的效果。

關于對Apache的測試我們已經(jīng)不是第一次提到了(見《沖出水面》一文),如同我們以前提到的,確定到底是哪一部分導致的瓶頸往往是一件困難的事,是因為Apache本身的設置問題還是由于你使用的動態(tài)網(wǎng)站程序環(huán)境?關于查找是否是因為網(wǎng)站程序引起的問題已經(jīng)超出了本文的范圍,這里我們主要講一下提高 Apache服務器速度的一些通常做法以及它如何與構成WEB網(wǎng)站的其它組件進行交互。

主機硬件

Apache所在的機器與操作系統(tǒng)環(huán)境是對性能影響最大因素,很明顯,一以368的PC與一臺P4或雙處理器的機器不會有同樣的性能。不過,如果不涉及硬件的改變,我們可以做的最大的事是首先看一下Apache是否運行在一臺專用的服務器上,如果與其它應用共用一臺服務器肯定會影響服務器的性能。

在大多數(shù)情況下,告別是對靜態(tài)網(wǎng)站而言,內(nèi)存數(shù)量是一個影響性能的關鍵因素,因為它決定了Apache可以緩存多少內(nèi)容。它緩存的內(nèi)容越多,在硬盤上讀取內(nèi)容的機會就越少,而存取硬盤上的特定文件是一件很費時的操作。如果你的網(wǎng)站主要是一些靜態(tài)內(nèi)容,你最好使用mod_cache選項,如果你的內(nèi)存足夠大,可以使用mod_mem_cache選項。

第一個選項將信息緩存在磁盤上,當它與mod_include選項一起使用時會有很好的效果,這個選項在建立一個頁面時在緩存中保存它的最終版本。使用mod_mem_cache將緩存內(nèi)容保存在一個可以被所有Apache進程共享的內(nèi)存堆中。

使用更快的磁盤或進一步使用RAID可以提高Apache對磁盤文件的訪問速度。注意,如果你做了下面的所有這些優(yōu)化,一個硬件的(而非軟件)升級方案是更好的選擇。最后一個談到的關于硬件的問題是CPU能力,這對動態(tài)內(nèi)容網(wǎng)站的影響很大,動態(tài)內(nèi)容越多要求越高。

通過擠出Apache服務器的每一分潛力你可以讓你的網(wǎng)站留給別人的印象大大改觀,特別是對一些動態(tài)網(wǎng)站更是如何。這篇文章主要涉及到對Apache服務器的安裝和設置如何進行優(yōu)化,這也是你最有控制權的部分。

測試與提高性能

Apache服務器已經(jīng)被設計得盡可能的快,即使你用一臺配置不高的機器,用不著進行太復雜的設置,它的響應內(nèi)容就足以塞滿以前的各種窄帶連接。但隨網(wǎng)站內(nèi)容日益復雜和帶寬的增加,對Apache進行優(yōu)化以取得更好的性能變得日益重要起來。

如果優(yōu)化的結果僅僅是極小的性能提升那真是浪費時間。試想一下,你花了好幾個小時甚至幾天調(diào)整Apache的各種參數(shù)但結果僅是幾個百分點的性能提升?因此,在優(yōu)化前你做的第一步應該是測試你目前的服務器的性能水平以便決定如何優(yōu)化你的服務器并衡量優(yōu)化的效果。

關于對Apache的測試我們已經(jīng)不是第一次提到了(見《沖出水面》一文),如同我們以前提到的,確定到底是哪一部分導致的瓶頸往往是一件困難的事,是因為Apache本身的設置問題還是由于你使用的動態(tài)網(wǎng)站程序環(huán)境?關于查找是否是因為網(wǎng)站程序引起的問題已經(jīng)超出了本文的范圍,這里我們主要講一下提高 Apache服務器速度的一些通常做法以及它如何與構成WEB網(wǎng)站的其它組件進行交互。

主機硬件

Apache所在的機器與操作系統(tǒng)環(huán)境是對性能影響最大因素,很明顯,一以368的PC與一臺P4或雙處理器的機器不會有同樣的性能。不過,如果不涉及硬件的改變,我們可以做的最大的事是首先看一下Apache是否運行在一臺專用的服務器上,如果與其它應用共用一臺服務器肯定會影響服務器的性能。

在大多數(shù)情況下,告別是對靜態(tài)網(wǎng)站而言,內(nèi)存數(shù)量是一個影響性能的關鍵因素,因為它決定了Apache可以緩存多少內(nèi)容。它緩存的內(nèi)容越多,在硬盤上讀取內(nèi)容的機會就越少,而存取硬盤上的特定文件是一件很費時的操作。如果你的網(wǎng)站主要是一些靜態(tài)內(nèi)容,你最好使用mod_cache選項,如果你的內(nèi)存足夠大,可以使用mod_mem_cache選項。

第一個選項將信息緩存在磁盤上,當它與mod_include選項一起使用時會有很好的效果,這個選項在建立一個頁面時在緩存中保存它的最終版本。使用mod_mem_cache將緩存內(nèi)容保存在一個可以被所有Apache進程共享的內(nèi)存堆中。

使用更快的磁盤或進一步使用RAID可以提高Apache對磁盤文件的訪問速度。注意,如果你做了下面的所有這些優(yōu)化,一個硬件的(而非軟件)升級方案是更好的選擇。最后一個談到的關于硬件的問題是CPU能力,這對動態(tài)內(nèi)容網(wǎng)站的影響很大,動態(tài)內(nèi)容越多要求越高。

服務器設置


如果你的環(huán)境已經(jīng)建立Apache也已經(jīng)經(jīng)過優(yōu)化,就可以查看你的設置文件來進行下一步的優(yōu)化措施。一個好的方法就是簡化你的設置文件將文件中的指示(directives)減少到幾百行內(nèi),首先是刪除掉那些注釋行,進而刪除任何非必要的內(nèi)容。

簡化設置文件

第一步是簡化設置設置文件,它并不帶來任何直接的性能提升,但它將使設置文件易于使用減少你出錯的機會。

在進行優(yōu)化之前,從一個默認提供的設置文件開始是一個不錯的主意。這些文件常被放在Apache的設置目錄中,文件名為 httpd.conf.orig 或者 httpd-std.conf,不要使用如performance-std.conf類似名稱的文件,從長遠的觀點看,如果你準備在里面加入大量的附加設置信息,它決不是一個好起點。另一方面,如果你的目標是建立一個很快的靜態(tài)WEB服務器,這可能是讓服務器運行起來的最簡單方法。

如果你熟悉Apache的設置指示用法或樂意瀏覽幫助文件,你可以從設置文件中刪除所有的注釋內(nèi)容,因為它們經(jīng)常讓實際的指示內(nèi)容變得難找,你也可以刪除對當前平臺上用不到的多處理機方式(MPM)的引用。

禁用模塊

現(xiàn)在,我們已經(jīng)得到了一個清爽的設置文件,下面我們可以開始刪除其中我們系統(tǒng)用不到的元素,特別是:

●HostnameLookups(主機名查找),這增加了處理每個請求的開銷,首先,服務器會對DNS系統(tǒng)做一個反向查詢以找出客戶系統(tǒng)的主機名,然后又進行正向查詢看獲得的主機名是否真實指向客戶的IP。大多數(shù)情況下,你可以簡單的關閉這個功能,如果你經(jīng)常處理服務器日志,這個工作完全可以在以后進行。你可以通過在設置文件中加入指示HostnameLookups off來關閉這個功能。

●符號連接。當打開這個選項時,Apache將檢查每個請求中是否包含對符號連接的引用,這將對請求中包含的每個路徑調(diào)用一次lstat()系統(tǒng)調(diào)用。除非你準備使用符號連接,否則用 Options -FollowSymLinks 來關掉它。

●服務器狀態(tài)信息。盡管這對測試與監(jiān)控服務器很有用,但它也為服務器帶來了額外的開銷,你可以通過尋找任何類似SetHandler server-status的指示來關閉,如果可能,你可以在安裝Apache時移除這個模塊。

●在可以更精確的時候盡可能不要使用通配符之類的靈活選項,例如,對于DirectoryIndex指示,明確的指定設置文件列表,最常用的放在最前。

●除非你有很好的理由否則就允許CGI的執(zhí)行,將似有的CGI文件放到一個特定的目錄并為之設定正確的權限,這避免了Apache對每一個請求都要判斷一次要求的是一個靜態(tài)文件還是一個動態(tài)文件。

禁用日志


寫入日志信息是一個很花費時間的工作,盡管Apache保持日志文件的打開狀態(tài)以節(jié)省打開文件的時間,但仍然得花費不少的時間。如果沒有必要存儲日志信息,你可以關閉這個選項以節(jié)省出更多的處理器時間,只需要在設置文件中把日志那一行注釋掉就可以關掉它。

如果必須保留日志,你可以關閉HostnameLookups選項(見上文)然后把日志文件拷備到另一臺機器上做進一步分析。

簡化目錄級的設置

htaccess文件可以極大的擴展Apache的設置參數(shù),而無需每次你改變設計都要編輯Apache主設置文件,但對這個文件的使用也降低了服務器的性能。

如果使用這個文件,Apache必需首先在當前目錄中查找是否存在這個文件,如果存在就解析這個文件并在當前目錄中應用文件中的設置。更壞的是,Apache不僅要查看當前的目錄,還要查看當前目錄的所有上層目錄是否包括htaccess文件以根據(jù)所有這些文件最終確定設置。

如果你想最優(yōu)化服務器的性能,你應該禁止使用htaccess文件,任何基本目錄的設置都可以在主設置文件中進行,而主設置文件僅在服務器啟動時解析一次。為了禁用htaccess文件,在任何節(jié)里加上指示AllowOverride None。

多處理方式設置

多處理方式(Multi-Processing Module/MPM)他允許特定平臺處理多個并發(fā)連接。MPM模塊是平臺相關的,對于Unix、 Windows、BeOS、和NetWare有不同的解決方案,一些平臺有不止一個方案可以選擇。對大多數(shù)用戶而言,對于特定平臺的默認設置已經(jīng)工作得很好,而精確調(diào)整這些參數(shù)是一個費時的工作。不過如果你想最大限度的挖掘Apache的潛力,你必須調(diào)整這些設置。

對大多數(shù)平臺而言,只有一種MPM可選,不過在UNIX下則有兩個選項:prefork與worker,prefork模式生成多個相同的 Apache 進程,而worker模式創(chuàng)建多個線程。通常而言,對于只有一到兩顆處理器的系統(tǒng),prefork模式工作得更好,而對于擁有更多處理器的系統(tǒng),線程模型工作得更有效率。

不管哪種情況,MaxClients指示是最有效的提高服務器性能的方法,它控制了Apache可以處理的最大并發(fā)連接數(shù)。

優(yōu)化靜態(tài)內(nèi)容


如果你的WEB服務器使用了大量靜態(tài)內(nèi)容或者你分別用兩個WEB服務器處理動態(tài)和靜態(tài)內(nèi)容,那么你現(xiàn)在的主要目標就是縮短服務器發(fā)送被請求內(nèi)容的響應時間,最簡單的方法就是使用mod_cache緩存模塊。你可以使用mod_disk_cache和mod_mem_cache來分別提供基于磁盤的緩存和基于內(nèi)存的緩存。

你可以查看關于mod_cache的說明文件以取得進一步的信息。

優(yōu)化動態(tài)內(nèi)容

動態(tài)內(nèi)容可能是所有WEB服務器中最消費時間的部分,特別是使用CGI的時候,一個簡單的程序都可能會把響應時間增加好幾秒。

使用基于腳本的方案的一大好處是它們在Apache里裝入了解釋器,這就減少了執(zhí)行時再裝入解釋器的時間,一些方案還把解析過的腳本緩存起來,這樣下一次遇到同樣的請求就可以直接執(zhí)行而無需再次解析。

對特定系統(tǒng)的調(diào)整優(yōu)化很復雜而且很花時間,而且你需要調(diào)整特定的腳本以利用優(yōu)化的成果。

不過對動態(tài)內(nèi)容的優(yōu)化效果是非常明顯的,僅僅是把perl腳本的執(zhí)行模式從CGI轉到mod_perl就可以減少多達70%的執(zhí)行時間,如果我們進一步,還可以使用到數(shù)據(jù)庫的持久連接或在多次請求之間緩存信息,這對電子商務網(wǎng)站非常有用,它也減小了不同請求間重復裝載信息的開銷。

總結

盡管Apache是一個高可定制的功能強大且相當復雜的服務器軟件,我們很有興趣的注意到即使是Apache的標準安裝也可以得到不錯的性能。調(diào)整 Apache的設置參數(shù)是一個可以輕易顯著提高服務器性能的方法。但不幸的是,常常我們在Apache里最無法控制的內(nèi)容--例如網(wǎng)站的動態(tài)內(nèi)容腳本和 CGI是影響網(wǎng)站性能的最重要方面,如果你管理一個典型的Apache服務器你會發(fā)現(xiàn)Apache響應一個傳入連接以及最后把內(nèi)容發(fā)送給客戶的所花費的時間是以毫秒記的,而等待所需數(shù)據(jù)資源的時間常常達到幾秒鐘。

當然,這并不是說我們的優(yōu)化工作沒什么意義,優(yōu)化的效果日積月累也不可小視。另外,重要的是,通過簡化你的設置文件,你可以大大減小服務器的管理負擔。

相關文章

  • CentOS如果更改yum更新源詳解

    CentOS如果更改yum更新源詳解

    平時在安裝或更新CentOS軟件時,yum方式是最簡單方便的,而為避免從國外站點安裝更新速度過慢,需要更改yum更新源,那么CentOS怎么修改yum更新源呢?今天小編與大家分享下CentOS修改yum更新源的具體操作步驟,有需要的朋友不妨了解下。
    2016-10-10
  • linux多線程編程(五)

    linux多線程編程(五)

    使用多線程的理由之一是和進程相比,它是一種非?!肮?jié)儉”的多任務操作方式。我們知道,在Linux系統(tǒng)下,啟動一個新的進程必須分配給它獨立的地址空間,建立眾多的數(shù)據(jù)表來維護它的代碼段、堆棧段和數(shù)據(jù)段,這是一種“昂貴”的多任務工作方式。
    2014-08-08
  • Ubuntu終端多窗口分屏Terminator

    Ubuntu終端多窗口分屏Terminator

    今天小編就為大家分享一篇關于Ubuntu終端多窗口分屏Terminator的文章,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • linux DMA接口知識點詳解

    linux DMA接口知識點詳解

    在本篇文章里小編給大家整理了關于linux DMA接口知識點內(nèi)容,需要的朋友們可以學習參考下。
    2020-02-02
  • 詳解Centos8 配置靜態(tài)IP的實現(xiàn)

    詳解Centos8 配置靜態(tài)IP的實現(xiàn)

    這篇文章主要介紹了詳解Centos8 配置靜態(tài)IP的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Linux下如何更新curl版本

    Linux下如何更新curl版本

    這篇文章主要介紹了Linux下如何更新curl版本問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Linux查看文件大小的幾種方法匯總

    Linux查看文件大小的幾種方法匯總

    這篇文章主要介紹了Linux查看文件大小的幾種方法匯總,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Apache服務器中.htaccess的基本配置總結

    Apache服務器中.htaccess的基本配置總結

    這篇文章主要介紹了Apache服務器中.htaccess的基本配置總結,可以很方便地實現(xiàn)一些權限分配等效果,需要的朋友可以參考下
    2015-07-07
  • Linux查看命令之od命令詳解

    Linux查看命令之od命令詳解

    Linux查看命令之od命令的作用主要是以指定格式查看文件內(nèi)容。下面的本文先給大家簡單介紹了od命令的參數(shù),然后通過示例詳細給加演示了od命令的使用,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • Centos7上Mesos和Marathon的安裝和配置

    Centos7上Mesos和Marathon的安裝和配置

    這篇文章主要介紹了Centos7上Mesos和Marathon的安裝和配置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11

最新評論

宜昌市| 封开县| 汶上县| 东海县| 平远县| 黑河市| 宁海县| 德江县| 永仁县| 两当县| 临澧县| 惠安县| 视频| 西贡区| 盐亭县| 济源市| 图们市| 敖汉旗| 江北区| 巴楚县| 天祝| 东兰县| 富阳市| 湟源县| 阳城县| 新巴尔虎左旗| 太康县| 项城市| 大城县| 崇信县| 恩平市| 浮山县| 工布江达县| 浑源县| 衡阳县| 海安县| 尼勒克县| 南川市| 高清| 海门市| 龙游县|