服務器的基準測試技術研究應用
IA(Intel Architecture)服務器與PC都是基于Intel CPU的計算機,有相同的外部接口如IDE、PCI等。不同之處在于,IA服務器可以支持多個CPU、一般使用SCSI硬盤、可靠性高、運行服務器專用的網絡操作系統;而PC一般使用單CPU、IDE或SATA硬盤和個人操作系統軟件。PC與IA服務器最大的差異就在于多用戶多任務環境下的可靠性上。下面我們從 CPU性能、I/O性能、監控性能、可靠性能、擴展性能5個方面進行比較。
1) CPU性能
IA架構的服務器雖然是基于PC機x86的體系結構基礎,使用Intel或與其兼容的處理器芯片,但是由于服務器要將其數據、硬件提供給網絡共享,在運行某些應用程序時要處理大量的數據。因此要求 CPU處理能力及可靠性更高,使用服務器專用處理器,并且采用SMP(對稱多處理器結構)技術,在同一主板上利用多CPU處理數據,極大地提高了IA服務 器的計算能力。
2) I/O性能
網絡上經常有大量的用戶同時訪問服務器要求服務器的I/O性能強。IA架構服務器的I/O帶寬要強于
PC。SCSI技術、RAID技術、高速智能I2O技術、較大的內存擴展能力等是提高服務器I/O能力的有效途徑。
3) 系統檢控和管理能力
無論從軟件還是從硬件設計上,IA服務器具備較完善的系統監控與管理能力。服務器采用了I2C(Inter-Integrated Circuit Bus)管理總線技術,它是兩條串行總線,用于連接微控制器及其外圍設備。服務器有專用的服務器管理軟件,用于部門局域網環境中的文件、打印和應用服務器 管理工具,提供了對軟件和對硬件傳感器的實時監控和報警。
4) 可靠性及安全性
服務器是網絡中的核心設備,因此相對于一般PC而言,它應該具備高可靠性及安全性。IA服務器可采用ECC內存、RAID技術、熱插拔技術、冗余電源、冗余風扇、機箱鎖等方法使服務器具備高容錯能力和高安全保護能力。
上述硬件技術與安裝于服務器之上的網絡操作系統的系統備份等功能結合起來,可是達到更高的可靠性。一般而言,服務器主要部件及整機性能按照7×24 小時連續可靠工作設計,這正是IA服務器相對于PC的最大含金量所在。而PC機的設計制造從來沒有保證過多用戶多任務環境下的可靠性,一般情況下,PC是按照每天連續可靠工作8小時設計的。
在調查中超過70%的用戶認為選擇服務器產品最重要的因素就是運行穩定。這也是為什么我們在信息系統的核心設備一般都不會采用PC的原因。
5) 可擴展能力
服務器具有良好的擴展能力。具備較多的PCI、PCI-E插槽,較多的磁盤驅動器支架和較大的內存擴展能力。多網卡設計使得用戶網絡擴充時,服務器也能滿足 新的需求。高端的服務器支持PCI和PCI-E插槽的在線熱插拔,提供了在線更換功能,可以有效地支持用戶不間斷的工作,保護用戶的投資。
2. 服務器對比測試要點
本節內容主要是為了讓用戶快速了解服務器測試策略與方法,能夠用于選型測試中。在此僅僅以最重要的性能、內存緩存性能、數據庫網絡應用輔以基本對比測試來考察不同服務器間的性能。具體測試技術策略如下:
1) SPECCPU2000 v1.2
SPEC是標準性能評估公司(Standard Performance Evaluation Corporation)的簡稱。SPEC是由計算機廠商、系統集成商、大學、研究機構、咨詢等多家公司組成的非營利性組織,這個組織的目標是建立、維護一套用于評估計算機系統的標準。
SPEC CPU2000是SPEC組織推出的一套CPU子系統評估軟件,它包括CINT2000和CFP2000兩個子項目,前者用于測量和對比整數性能,而后者 則用于測量和對比浮點性能。計算系統中的處理器、內存和編譯器都會影響最終的測試性能,而I/O(磁盤)、網絡、操作系統和圖形子系統對于SPEC CPU2000的影響非常的小。
SPECfp測試過程中同時執行多個實例(instance),測量系統執行計算密集型浮點操作的能力,比如CAD/CAM、DCC以及科學計算等方面應用可以參考這個結果。SPECint測試過程中同時執行多個實例(instances),然后測試系統同時執行多個計算密集型整數操作的能力, 可以很好的反映諸如數據庫服務器、電子郵件服務器和Web服務器等基于整數應用的多處理器系統的性能。
在實際測試中,被測試服務器應安裝Intel C++ 8.1 Compiler、Intel Fortran 8.1 Compiler這兩款SPEC CPU2000必需的編譯器,另外安裝了Microsoft Visual Studio 2003.net提供必要的庫文件。按照SPEC的要求我們根據自己的情況編輯了新的Config文件,可以滿足Base測試。然后我們根據被測系統實際 可同時處理的線程數量,設定用戶數量,分別運行SPEC base和SPEC rate base測試的結果(其中SPEC base代表系統執行某個任務的速度,而SPEC base rate測試代表系統可以同時處理任務的能力)。
2) ScienceMark v2.0 Membench
ScienceMark v2.0是一款用于測試系統特別是處理器在科學計算應用中的性能的軟件,MemBenchmark是其中針對處理器緩存、系統內存而設計的功能模塊,它可以測試系統內存帶寬、L1 Cache延遲、L2 Cache延遲和系統內存延遲,另外還可以測試不同指令集的性能差異。
3) SiSoftware.Sandra.SP1 v2007
SiSoftware Sandra是一款可運行在32bit和64bit Windows操作系統上的分析軟件,這款軟件可以對于系統進行方便、快捷的基準測試,還可以用于查看系統的軟件、硬件等信息。目前新版本新增了4項基準測試,包括Power Management Efficiency、Memory Latency、Physical Disks和CD-ROM and DVD這四個項目。另外,它還對于原有的幾個基準測試模塊進行升級,比如在Arithmetic benchmarks中增加了對SSE3 & SSE4 SSE4的支持,在Multi-Media benchmark中增加了對于SSE4的支持,另外還升級了File System benchmark和Removable Storage benchmark兩個子項目。對于新的硬件的支持當然也是該軟件每次升級的重要內容之一。SiSoftware Sandra所有的基準測試都針對SMP和SMT進行了優化,最高可支持32/64路平臺。
4) IOMeter 2004.7.30
IOMeter是一款功能非常強大的IO測試軟件,它除了可以在本機運行測試本機的IO(磁盤)性能之外,還提供了模擬網絡應用的能力。在這次的測試中,我們僅僅讓它在本機運行測試服務器的磁盤性能。為了全面測試被測服務器的IO性能,分別選擇了不同的測試腳本。
Ø Max_throughput(read):文件尺寸為64KB,100%讀取操作,隨機率為0%,用于檢測磁盤系統的最大讀取吞吐量
Ø Max_IO(read):文件尺寸為512B,100%讀取操作,隨機率為0%,用于檢測磁盤系統的最大讀取操作IO處理能力
Ø Max_throughput(write):文件尺寸為64KB,0%讀取操作,隨機率為0%,用于檢測磁盤系統的最大寫入吞吐量
Ø Max_IO(write):文件尺寸為512B,0%讀取操作,隨機率為0%,用于檢測磁盤系統的最大寫入操作IO處理能力
5) WebBench v5.0
WebBench是針對服務器作為Web Server時的性能進行測試,在被測服務器上安裝IIS6.0組件,以提供測試所需的Web服務。在測試中開啟N臺客戶端(受測試環境約束而定),分別使用了WebBench 5.0內置的動態CGI以及靜態頁面腳本對服務器進行了測試。
靜態測試是由客戶端讀取預先放置在服務器Web Server下的Web頁面(wbtree),這項測試主要考察的是服務器磁盤系統以及網絡連接性能。使用了N臺客戶端,配合Static_mt.tst多線程靜態腳本測試向被測服務器發送請求。
動態測試偏重于對服務器CPU子系統的性能測試,它對于Web服務器提供了足夠的負載。使用C語言編寫的 CGI源文件Simcigi.c編譯為Simcgi.exe,并將其作為動態測試中的CGI腳本。在測試過程中,每臺安裝了WebBench客戶端軟件的 PC,會在300秒的時間內持續向服務器發送CGI請求,而控制臺會紀錄并匯總服務器所響應CGI請求的數據。CGI測試的成績高低,主要取決于服務器處理器子系統性能的優劣。處理器子系統包括CPU、內存以及內存控制器,CPU頻率、緩存以及內存容量大小和內存帶寬,都會影響該項成績。
6) NetBench v7.03
NetBench是針對文件服務器的性能測試軟件,影響NetBench 性能的主要是服務器的磁盤子系統,服務器磁盤控制器、條帶大小、讀寫緩存、硬盤類型、組建磁盤陣列模式、內存容量、網絡拓樸結構等都會對測試結果有明顯的影響。我們在被測服務器上設立了文件服務器時,NetBench可配置N個客戶端來模擬網絡中的PC向文件服務器所發出的文件傳輸請求,文件服務器則將存儲在磁盤上的文件數據發送給相應的客戶端。在測試過程中,客戶端會以每四臺一組的步進依次增加并且向服務器發送文件傳輸請求,測試結束后控制臺收集數據并繪制出服務器的數據傳輸變化曲線。
7) TPC benchmark
TPC現有的測試標準為:TPC-E、TPC-C、TPC-H、TPC-App。根據這4個測試基準,目前TPC主要包括的4個技術小組委員 會:TPC-E 技術小組委員會、TPC-C 技術小組委員會、TPC-H技術小組委員會、TPC-App技術小組委員會。前期TPC使用過但目前已經停止使用的測試標準有:TPC-A、TPC- B(數據庫處理能力測試標準)、TPC-D、TPC-R(決策支持系統測試標準,類TPC-H)、TPC-W(Web處理能力測試標準)。
c++相關文章:c++教程
評論