- 相關(guān)推薦
Linux系統Web服務(wù)器性能測試
linux作為一種免費的開(kāi)源操作系統,正越來(lái)越受到人們的重視。linux系統的Web服務(wù)器性能如何測試呢?下面跟yjbys小編一起來(lái)看看吧!
一、基于linux的Web服務(wù)器的重要性
linux作為一種免費的開(kāi)源操作系統,正越來(lái)越受到人們的重視。隨著(zhù)穩定的Linux 2.4內核發(fā)布日期的臨近和Intel IA-64構架的推出,Linux在服務(wù)器操作系統市場(chǎng)所占的份額會(huì )繼續擴大,那么基于Linux的應用也就會(huì )日益豐富。而在Internet時(shí)代,操作系統最廣闊的市場(chǎng)空間就是Web服務(wù)器,正是遍布全球的千千萬(wàn)萬(wàn)的Web服務(wù)器才構成了因特網(wǎng)信息資源的基礎,而Web服務(wù)器性能的優(yōu)劣直接關(guān)系到人們對信息資源的利用效率,因此對Web服務(wù)器性能的測試就顯得非常必要。
二、以運行在linux平臺的Apache服務(wù)器為例,談Web服務(wù)器的性能測試
Web服務(wù)器的性能不僅僅和Web服務(wù)器軟件本身有關(guān),它還和服務(wù)器硬件設計水平和服務(wù)器 操作系統有很大的關(guān)系,因此Web服務(wù)器性能測試是一項綜合性能的測試。目前在全球Web服務(wù)器軟件市場(chǎng)上Apache服務(wù)器占到了60%以上的市場(chǎng)份額。下面就以運行在linux平臺上的Apache服務(wù)器為例,談?wù)勅绾芜M(jìn)行Web服務(wù)器性能的測試。
1.Web服務(wù)器性能測試的工具
Web服務(wù)器的性能測試工具很多,比較著(zhù)名的有WebStone和WebBench,這兩個(gè)工具雖然實(shí)現的方法有所不同,但是測試指標是相同的,即都是測試每秒最大請求響應數和數據吞吐量。
2.Apache服務(wù)器支持SSL協(xié)議的配置
隨著(zhù) 電子商務(wù)的發(fā)展,webBench2.0還增加了電子商務(wù)測試集,這就需要Apache服務(wù)器支持SSL(Security Socket Layer)。但是Apache服務(wù)器在缺省情況下并沒(méi)有提供對SSL的有效支持,因此要想利用WebBench測試Apache服務(wù)器的電子商務(wù)性能,就需要重新配置Apache服務(wù)器使之支持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文件開(kāi)始的#!/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時(shí)會(huì )有很多的選項,主要的是選擇加密算法,包括RSA(它是由R. Rivest、A. Shamir和L. Adleman三位教授于1977年提出的公開(kāi)密鑰密碼系統,它的取名就是來(lái)自于這三位發(fā)明者的姓的第一個(gè)字母)和DSA(Digital Signature Algorithm),這時(shí)選擇RSA即可,接下來(lái)會(huì )有包括國家名,單位名,認證有效期等等需要輸入的信息。這些步驟完成之后,會(huì )產(chǎn)生一個(gè)server.crt和server.key文件,注意server.key文件一定要保密,接下來(lái)就是輸入連接用戶(hù)名和口令。
以上工作全部結束后,會(huì )生成三個(gè)服務(wù)器認證文件,他們分別是:
/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服務(wù)器的吞吐量和每秒最大請求響應數
全部編譯完成之后的apache就可以支持ssl,但是要想進(jìn)行WebBench的測試,還需要配置/apache/conf/http.conf文件,最關(guān)鍵的是要打開(kāi)ssl的監聽(tīng)端口443,并且把documentroot和Webbench3.0所在的目錄對應起來(lái)。然后在/apache*/bin/下運行apachectl startssl執行電子商務(wù)子集測試,運行 apachectl start執行普通的測試,通過(guò)控制臺和客戶(hù)端WebBench軟件的配合就可以測試出當前系統配置下Web服務(wù)器的吞吐量和每秒最大請求響應數。
三、WEB服務(wù)器測試結果分析
1.SMP技術(shù)與服務(wù)器集群技術(shù)
SMP(Symmetric MultiProcessing),即:對稱(chēng)多處理。指在一個(gè)計算機上匯集了一組處理器(多CPU)。它們共享內存及總線(xiàn)結構,系統將處理任務(wù)隊列對稱(chēng)地分布于多個(gè)CPU上,從而極大地提高了系統的數據處理能力。Windows2000采用了SMP,一般情況下,雙CPU的服務(wù)器比單CPU服務(wù)器性能提高70%左右。而linux系統對于SMP技術(shù)并不敏感,根據測試結果顯示,使用雙PentiumIII800CPU比單CPU的Web服務(wù)器性能沒(méi)有顯著(zhù)的提高。
與SMP相比,集群技術(shù)更易于實(shí)現,它開(kāi)發(fā)周期短,而且造價(jià)低。雖然節點(diǎn)之間數據傳輸的速度比SMP總線(xiàn)低,但是它的可擴展性遠遠超過(guò)了 SMP,在一個(gè)集群中可以很輕松地支持256個(gè)CPU。同時(shí),由于各節點(diǎn)之間使用了松散耦合的方式連接,可以在系統正在運行的情況下方便地更換或添加節點(diǎn),因此它的可靠性與可擴展性也優(yōu)于目前的SMP技術(shù),但是同時(shí)我們應該注意到的是集群技術(shù)的主要局限在網(wǎng)絡(luò )的瓶頸上,對于關(guān)鍵的節點(diǎn)甚至使用千兆網(wǎng),這是一般用戶(hù)無(wú)法承受的。因此在選擇上應該考慮到這個(gè)問(wèn)題。
2.系統內存的影響
在linux系統下,有一點(diǎn)需要注意:對于某些BIOS來(lái)說(shuō),如果超過(guò)64MB內存就需要在LILO.CONF中加入擴展內存的命令,否則服務(wù)器內存顯示只有64MB。我們對64MB內存和128MB內存的服務(wù)器進(jìn)行測試,結果表明 :內存對Web性能的影響是巨大的,尤其是在大負載下的性能提高得很快。
筆者認為,對于部門(mén)級服務(wù)器而言,由于CPU速度、網(wǎng)絡(luò )帶寬、磁盤(pán)性能的限制,512MB-1G內存是比較適宜的。
3.64位操作系統與64位服務(wù)器
對于linux界來(lái)說(shuō)Tru64 Linux系統的推出是一件大事。我們分別在天兆陽(yáng)光的Alpha、杜文的SparcII的服務(wù)器上作了RedHat6.2的Web性能測試。但是測試結果并非像想象中的那樣令人滿(mǎn)意。筆者分析有以下幾個(gè)原因:首先,不合時(shí)宜的測試集。我們所使用的測試工具WebBench還沒(méi)有64位Linux的測試集,沒(méi)有充分考慮到64位的高帶寬、海量存儲等優(yōu)勢。第二,Tru64 Linux系統與64位硬件系統的配合還存在一定的問(wèn)題,它畢竟不象Solaris是SUN定制開(kāi)發(fā)的支持64位運算的操作系統。
4.Apache 服務(wù)器的優(yōu)化
Apache服務(wù)器系統的優(yōu)勢之一就是可以對其進(jìn)行優(yōu)化。筆者認為主要分為應用級和代碼級兩種優(yōu)化方式。應用級優(yōu)化比較簡(jiǎn)單,主要是對HTTPD.conf、ACCESS.conf、SRM.conf三個(gè)配置文件中的參數進(jìn)行配置。本次測試中沒(méi)有對系統作優(yōu)化,只是針對64位服務(wù)器系統性能好的特點(diǎn),將最大進(jìn)程數從默認的150提高到了1000,減少了CPU殺掉進(jìn)程的時(shí)間,測試后發(fā)現Web性能提高了10%。而對于代碼級的優(yōu)化相對復雜得多,并且可以參考的實(shí)例不多,希望在以后的測試中進(jìn)一步體會(huì )。
總之,linux操作系統應用于Web服務(wù)器有許多優(yōu)勢,如:服務(wù)器大負載穩定性好等,相信許多Web用戶(hù)都有很深的體會(huì )。
WebBench介紹
WebBench是一個(gè)主要用來(lái)考查Web服務(wù)器性能的測試工具。它的測試結構與ServerBench相同,同樣采用服務(wù)器、客戶(hù)端和控制臺三種方式。 WebBench 在Web服務(wù)器端安裝測試文件,這些文件主要由HTML、GIF和可執行文件組成,利用客戶(hù)端計算機來(lái)模擬Web瀏覽器向Web服務(wù)器發(fā)送請求。但是,在客戶(hù)端并不使用真正的瀏覽器,也不真正顯示服務(wù)器發(fā)送的響應文件,而是在收到Web服務(wù)器的響應后立即紀錄該響應的相關(guān)信息,并立即發(fā)送另外一個(gè)請求。通過(guò)這種方法來(lái)測試Web服務(wù)器每秒處理的請求數和數據吞吐量。WebBench測試可以分為普通測試和電子商務(wù)測試:普通的測試集由靜態(tài)和動(dòng)態(tài)請求組成;而電子商務(wù)測試集由8%的安全請求和92%的非安全請求組成。在電子商務(wù)測試中,Web服務(wù)器需要支持SSL(Secure Socket Layer)協(xié)議,它是Web服務(wù)器上使用廣泛的基本安全措施,可向基于TCP/IP協(xié)議的Client/Server應用程序提供Client/Server端的鑒別、數據完整性和信息機密性等安全措施。
ServerBench介紹
ServerBench是一個(gè)著(zhù)名應用服務(wù)器性能測試工具,它主要在Client/Server環(huán)境下測試應用服務(wù)器的處理器性能、網(wǎng)絡(luò )性能和系統性能。其中,應用服務(wù)器系統的綜合性能測試(sys)是ServerBench最基準的測試。這次測試我們也主要測試了綜合性能(sys)和處理器性能(proc)兩項。
ServerBench的工作原理就是在服務(wù)器端啟動(dòng)一個(gè)主進(jìn)程,將主進(jìn)程與控制臺相連。對于每一個(gè)和服務(wù)器相連的客戶(hù)端,該主進(jìn)程都創(chuàng )建一個(gè)服務(wù)進(jìn)程,服務(wù)進(jìn)程負責等待客戶(hù)端的請求并作相應的處理,主進(jìn)程和服務(wù)進(jìn)程通過(guò)共享內存來(lái)交換數據?刂婆_用來(lái)定義測試集,用這個(gè)測試工具,客戶(hù)把各種事務(wù)處理發(fā)送到服務(wù)器,每個(gè)事務(wù)都需要應用服務(wù)器執行磁盤(pán)的讀寫(xiě)、數據操作和Client/Server之間的網(wǎng)絡(luò )通信等一系列操作,來(lái)給服務(wù)器的不同子系統增加壓力,并以每秒完成的事務(wù)處理量得出測試分數。
【Linux系統Web服務(wù)器性能測試】相關(guān)文章:
Linux 服務(wù)器集群系統實(shí)現方案07-12
Linux服務(wù)器安全技巧有哪些01-23
Linux文件系統簡(jiǎn)介06-01
Linux操作系統概述06-22
Linux系統下ftp的管理08-19