服務器測試工具介紹
對于服務器性能方面的考察,我們主要分為子系統測試和應用性能測試。在子系統測試中我們按處理器、內存以及磁盤等各個子系統進行了分項測試,當然各子系統的測試成績也是相輔相成,也需要其它子系統的支持,并非是完全獨立的,只是對考察的子系統有所偏重而已。
處理器子系統測試
對服務器處理器子系統的考察,我們主要采用的是業界公認的SPEC CPU 2006測試,該項測試通過對數十個典型應用程序的運行,來測試系統處理器子系統在應用中的整、浮點運算效率。SPEC CPU 2006測試具有很好的開放性,因此在業界為廣大用戶所接受,可以利用這一公開的測試結果進行系統間運算性能的比較。
此外SiSoftware Sandra也有測試子項可用于處理器運算性能測試,其結果通常以每秒完成的指令數來表現。也可以用作不同處理器間運算效率的比較。
SPEC CPU 2006 v1.1
SPEC是標準性能評估公司(Standard Performance Evaluation Corporation)的簡稱。SPEC是由計算機廠商、系統集成商、大學、研究機構、咨詢等多家公司組成的非營利性組織,這個組織的目標是建立、維護一套用于評估計算機系統的標準。
SPEC CPU 2006是SPEC組織推出的CPU子系統評估軟件最新版,我們之前使用的是SPEC CPU 2000。和上一個版本一樣,SPEC CPU 2006包括了CINT2006和CFP2006兩個子項目,前者用于測量和對比整數性能,后者則用于測量和對比浮點性能,SPEC CPU 2006中對SPEC CPU 2000中的一些測試進行了升級,并拋棄/加入了一些測試,因此兩個版本測試得分并沒有可比較性。
SPEC CPU測試中,測試系統的處理器、內存子系統和使用到的編譯器(SPEC CPU提供的是源代碼,并且允許測試用戶進行一定的編譯優化)都會影響最終的測試性能,而I/O(磁盤)、網絡、操作系統和圖形子系統對于SPEC CPU2006的影響非常的小。
SPECfp測試過程中同時執行多個實例(instance),測量系統執行計算密集型浮點操作的能力,比如CAD/CAM、科學計算等方面應用可以參考這個結果。SPECint測試過程中同時執行多個實例(instances),然后測試系統同時執行多個計算密集型整數操作的能力,可以很好的反映諸如數據庫服務器、電子郵件服務器和Web服務器等基于整數應用的多處理器系統的性能。
我們在被測服務器中安裝了Intel C++ 11.1.034 Compiler、Intel Fortran 11.1.034 Compiler這兩款SPEC CPU 2006必需的編譯器,通過最新出現的QxS編譯參數,Intel Compiler 10版本開始支持對Intel SSE4指令集進行優化(假如只支持SSE3,則使用QxT編譯參數)。我們另外安裝了Microsoft Visual Studio 2005 SP1提供必要的庫文件。按照SPEC的要求我們根據自己的情況編輯了新的Config文件,使用了較多的編譯選項。我們根據被測系統選擇實際可同時處理的線程數量,最后得到SPEC rate base測試結果(基于base標準編譯,SPEC base rate測試代表系統同時處理多個任務的能力)。
和其它測試部件不同,SPEC CPU 2006需要大量的系統物理內存,我們的SPEC測試在64位的Windows Server 2008 R2 下完成,對于每個運算核心,最低配置1.5GB內存。
內存子系統測試
對于內存子系統的考察,也是利用SiSoftware Sandra來實現,在該軟件中有相應組件可進行內存帶寬、內存延遲等方面的測試。
SiSoftware Sandra v2011
SiSoftware Sandra是一款可運行在32bit和64bit Windows操作系統上的分析軟件,這款軟件可以對于系統進行方便、快捷的基準測試,還可以用于查看系統的軟件、硬件等信息。從2007開始,Sandra的Arithmetic benchmarks增加了對SSE3&SSE4 SSE4的支持,在Multi-Media benchmark中增加了對于SSE4的支持,另外還升級了File System benchmark和Removable Storage benchmark兩個子項目。對于新的硬件的支持當然也是該軟件每次升級的重要內容之一,SiSoftware Sandra 2011對NUMA架構以及最新的Windows 7/Windows Server 2008 R2提供了更好的支持,此外測試項目和測試結果也有了略微的變化。SiSoftware Sandra所有的基準測試都針對SMP和SMT進行了優化,最高可支持32/64路平臺。
存儲子系統測試
對存儲子系統的考察,是利用IOMeter這一軟件來完成。
IOMeter 2006.07.27
IOMeter是一款功能非常強大的IO測試軟件,它除了可以在本機運行測試本機的磁盤IO性能之外,還提供了模擬網絡應用的能力。為了大家能更好的通過我們的測試數據進行不同系統之間的對比,我們在測試中都使用相同的腳本。其中的最大IO能力的測試中我們所采用的了數據塊大小為512B,100%讀取操作,隨機率為0%。而另一測試數據塊大小則選擇了64KB,100%讀取操作,隨機率為0%,用于檢測磁盤系統的最大吞吐量。
網絡應用性能測試
應用性能測試則利用IT168的網絡測試環境,模擬大量的客戶端來實現對服務器進行訪問,來測試服務器在提供文件服務器時的性能表現。
NetBench 7.03性能測試
NetBench是針對文件服務器的性能測試軟件,影響NetBench性能的主要是服務器的磁盤子系統,這里所使用的磁盤Raid卡對于測試結果將會有明顯的影響。測試中我們在被測服務器上設立了文件服務器,NetBench通過網絡實驗室中60個客戶端來模擬網絡中的PC向文件服務器所發出的文件傳輸請求,文件服務器則將存儲在磁盤上的文件數據發送給相應的客戶端。同Webbench測試一樣,NetBench測試開始后客戶端會以每四臺一組依連接到服務器并發送文件傳輸請求。測試結束后控制臺收集數據并繪制出服務器能夠達到的數據傳輸變化曲線。