歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

基於Linux的Web服務器性能測試

  摘要:Linux作為一種免費的開源操作系統,正越來越受到人們的重視。隨著穩定的Linux 2.4內核發布日期的臨近和Intel IA-64構架的推出,Linux在服務器操作系統市場所占的份額會繼續擴大,那麼基於Linux的應用也就會日益豐富。而在Internet時代,操作系統最廣闊的市場空間就是Web服務器,正是遍布全球的千千萬萬的Web服務器才構成了因特網信息資源的基礎,而Web服務器性能的優劣直接關系到人們對信息資源的利用效率,因此對Web服務器性能的測試就顯得非常必要    一、基於Linux的Web服務器性能測試的重要性       Linux作為一種免費的開源操作系統,正越來越受到人們的重視。隨著穩定的Linux 2.4內核發布日期的臨近和Intel IA-64構架的推出,Linux在服務器操作系統市場所占的份額會繼續擴大,那麼基於Linux的應用也就會日益豐富。而在Internet時代,操作系統最廣闊的市場空間就是Web服務器,正是遍布全球的千千萬萬的Web服務器才構成了因特網信息資源的基礎,而Web服務器性能的優劣直接關系到人們對信息資源的利用效率,因此對Web服務器性能的測試就顯得非常必要。      二、以運行在Linux平台的Apache服務器為例,談Web服務器的性能測試        Web服務器的性能不僅僅和Web服務器軟件本身有關,它還和服務器硬件設計水平和服務器操作系統有很大的關系,因此Web服務器性能測試是一項綜合性能的測試。目前在全球Web服務器軟件市場上Apache服務器占到了60%以上的市場份額。下面就以運行在Linux平台上的Apache服務器為例,談談如何進行Web服務器性能的測試。      1.Web服務器性能測試的工具       Web服務器的性能測試工具很多,比較著名的有WebStone和WebBench,這兩個工具雖然實現的方法有所不同,但是測試指標是相同的,即都是測試每秒最大請求響應數和數據吞吐量。      2.Apache服務器支持SSL協議的配置       隨著電子商務的發展,webBench2.0還增加了電子商務測試集,這就需要Apache服務器支持SSL(Security Socket Layer)。但是Apache服務器在缺省情況下並沒有提供對SSL的有效支持,因此要想利用WebBench測試Apache服務器的電子商務性能,就需要重新配置Apache服務器使之支持SSL。下面就以Redhat Linux6.1,Apache1.3.9為平台講一下具體的配置方法:      1)下載      Apache1.3.9(http://www.apache.org)      Openssl-0.9.5(http://www.openssl.org)      Mode-ssl-2.6.0(http://www.modssl.org)      2)解壓縮:    # tar zxvf apache*.tgz  # tar zxvf openssl*.tgz  # tar zxvf modssl*.tgz      3)更改perl可執行文件的目錄    # cd /openssl*/util      把perlpath.pl文件開始的#!/usr/local/bin/perl改成現在操作系統中perl的目錄,在RedHat Linux中是#!/usr/bin/perl。然後運行./perlpath.pl /usr/bin即可。      4)編譯配置    # cd openssl-0.9.x  # sh config   -fPIC  # make   # make test  # cd mod-ssl*  # ./configure   --with-apache=/apache_1.3.12 --with-ssl=/openssl-0.9.5   --prefix=/apache_1.3.12  # cd apache_1.3.12  # make   # make certificate  # make install       在make certificate時會有很多的選項,主要的是選擇加密算法,包括RSA(它是由R. Rivest、A. Shamir和L. Adleman三位教授於1977年提出的公開密鑰密碼系統,它的取名就是來自於這三位發明者的姓的第一個字母)和DSA(Digital Signature Algorithm),這時選擇RSA即可,接下來會有包括國家名,單位名,認證有效期等等需要輸入的信息。這些步驟完成之後,會產生一個server.crt和server.key文件,注意server.key文件一定要保密,接下來就是輸入連接用戶名和口令。      以上工作全部結束後,會生成三個服務器認證文件,他們分別是:    /apache*/conf/ssl.key/server.key  /apache*/conf/ssl.crt/server.crt  /apache*/conf/ssl.csr/server.csr  # cd /mod-ssl*  # ./configure   --with-apache=/apache_1.3.12   --with-crt =/apache_1.3.12/conf/ssl.crt/server.crt   --with-key=/apache_1.3.12/conf/ssl.key/server.key  # cd /apache*  # SSL-BASE=/openssl*   ./configure   --enable-module=ssl  --prefix=/apache_1.3.12   # make   # make certificate  # make install      3.測試Web服務器的吞吐量和每秒最大請求響應數       全部編譯完成之後的apache就可以支持ssl,但是要想進行WebBench的測試,還需要配置/apache/conf/http.conf文件,最關鍵的是要打開ssl的監聽端口443,並且把documentroot和Webbench3.0所在的目錄對應起來。然後在/apache*/bin/下運行apachectl startssl執行電子商務子集測試,運行 apachectl start執行普通的測試,通過控制台和客戶端WebBench軟件的配合就可以測試出當前系統配置下Web服務器的吞吐量和每秒最大請求響應數。      三、WEB服務器測試結果分析      1.SMP技術與服務器集群技術       SMP(Symmetric MultiProcessing),即:對稱多處理。指在一個計算機上匯集了一組處理器(多CPU)。它們共享內存及總線結構,系統將處理任務隊列對稱地分布於多個CPU上,從而極大地提高了系統的數據處理能力。Windows2000采用了SMP,一般情況下,雙CPU的服務器比單CPU服務器性能提高70%左右。而Linux系統對於SMP技術並不敏感,根據測試結果顯示,使用雙PentiumIII800CPU比單CPU的Web服務器性能沒有顯著的提高。與SMP相比,集群技術更易於實現,它開發周期短,而且造價低。雖然節點之間數據傳輸的速度比SMP總線低,但是它的可擴展性遠遠超過了 SMP,在一個集群中可以很輕松地支持256個CPU。同時,由於各節點之間使用了松散耦合的方式連接,可以在系統正在運行的情況下方便地更換或添加節點,因此它的可靠性與可擴展性也優於目前的SMP技術,但是同時我們應該注意到的是集群技術的主要局限在網絡的瓶頸上,對於關鍵的節點甚至使用千兆網,這是一般用戶無法承受的。因此在選擇上應該考慮到這個問題。      2.系統內存的影響       在Linux系統下,有一點需要注意:對於某些BIOS來說,如果超過64MB內存就需要在LILO.CONF中加入擴展內存的命令,否則服務器內存顯示只有64MB。我們對64MB內存和128MB內存的服務器進行測試,結果表明 :內存對Web性能的影響是巨大的,尤其是在大負載下的性能提高得很快。筆者認為,對於部門級服務器而言,由於CPU速度、網絡帶寬、磁盤性能的限制,512MB-1G內存是比較適宜的。      3.64位操作系統與64位服務器       對於Linux界來說Tru64 Linux系統的推出是一件大事。我們分別在天兆陽光的Alpha、杜文的SparcII的服務器上作了RedHat6.2的Web性能測試。但是測試結果並非像想象中的那樣令人滿意。筆者分析有以下幾個原因:首先,不合時宜的測試集。我們所使用的測試工具WebBench還沒有64位Linux的測試集,沒有充分考慮到64位的高帶寬、海量存儲等優勢。第二,Tru64 Linux系統與64位硬件系統的配合還存在一定的問題,它畢竟不象Solaris是SUN定制開發的支持64位運算的操作系統。      4.Apache 服務器的優化       Apache服務器系統的優勢之一就是可以對其進行優化。筆者認為主要分為應用級和代碼級兩種優化方式。應用級優化比較簡單,主要是對HTTPD.conf、Access.conf、SRM.conf三個配置文件中的參數進行配置。本次測試中沒有對系統作優化,只是針對64位服務器系統性能好的特點,將最大進程數從默認的150提高到了1000,減少了CPU殺掉進程的時間,測試後發現Web性能提高了10%。而對於代碼級的優化相對復雜得多,並且可以參考的實例不多,希望在以後的測試中進一步體會。總之,Linux操作系統應用於Web服務器有許多優勢,如:服務器大負載穩定性好等,相信許多Web用戶都有很深的體會。      WebBench介紹        WebBench是一個主要用來考查Web服務器性能的測試工具。它的測試結構與ServerBench相同,同樣采用服務器、客戶端和控制台三種方式。 WebBench 在Web服務器端安裝測試文件,這些文件主要由Html、GIF和可執行文件組成,利用客戶端計算機來模擬Web浏覽器向Web服務器發送請求。但是,在客戶端並不使用真正的浏覽器,也不真正顯示服務器發送的響應文件,而是在收到Web服務器的響應後立即紀錄該響應的相關信息,並立即發送另外一個請求。通過這種方法來測試Web服務器每秒處理的請求數和數據吞吐量。WebBench測試可以分為普通測試和電子商務測試:普通的測試集由靜態和動態請求組成;而電子商務測試集由8%的安全請求和92%的非安全請求組成。在電子商務測試中,Web服務器需要支持SSL(Secure Socket Layer)協議,它是Web服務器上使用廣泛的基本安全措施,可向基於TCP/IP協議的Client/Server應用程序提供Client/Server端的鑒別、數據完整性和信息機密性等安全措施。      ServerBench介紹       ServerBench是一個著名應用服務器性能測試工具,它主要在Client/Server環境下測試應用服務器的處理器性能、網絡性能和系統性能。其中,應用服務器系統的綜合性能測試(sys)是ServerBench最基准的測試。這次測試我們也主要測試了綜合性能(sys)和處理器性能(proc)兩項。      ServerBench的




Copyright © Linux教程網 All Rights Reserved