服務器硬件系統(tǒng)性能評價
引言:
用戶在評價一臺計算機系統(tǒng)時,常常要考慮很多因素,如價格、服務、應用軟件、質量、功能、升級能力、性能等,其它因素都較好把握,只有性能對于用戶來說難以準確判斷,計算機系統(tǒng)的性能評價也是信息技術的一個重要研究方向。當前,一般將計算機系統(tǒng)分成客戶端桌面系統(tǒng)和服務器系統(tǒng),對于PC、工作站等桌面系統(tǒng)來說,評價性能較為簡單,查看它們的處理器主頻、內(nèi)存大小和總線帶寬、I/O總線帶寬、圖形卡的指標,或運行流行的WinBench等測試軟件,用戶就基本能判斷其性能是否滿足需要了。服務器系統(tǒng)的性能評價要復雜得多,而SMP、CC-NUMA、Cluster、MPP等體系結構的大型計算機系統(tǒng)的性能評價就更加復雜了。
評價的基本方法
大部分服務器廠商都會提供基本的Benchmark數(shù)據(jù),如SPECint95, SPECfp95, SPECWeb96, tpmC等,但是這些數(shù)據(jù)都是廠商用最好的系統(tǒng)、最佳配置,由專家精心優(yōu)化得到的,常常和用戶實際應用的性能大相徑庭。作為一個普通用戶,如何進行計算機系統(tǒng)的性能評價呢?下面介紹一些評價服務器性能的基本方法。
三階段評價一般,系統(tǒng)完整的性能評價應分成三個階段,即基本性能參數(shù)、核心Benchmark、實際應用。
基本性能參數(shù)測試是獲取計算機系統(tǒng)的硬件和系統(tǒng)軟件的重要性能指標,通過這些指標結合應用的特征可以大致評價出系統(tǒng)的總體性能。核心Benchmark測試是針對具體的應用類以最常用的模式操作計算機系統(tǒng),評價系統(tǒng)在這類應用下的性能,能較準確地評價出用戶可以得到的具體性能。實際應用測試是在較真實的硬件配置和軟件環(huán)境下,用實際應用或簡化的、規(guī)??s小的實際應用評價系統(tǒng)的真實性能。三類測評是相輔相成的,性能評價不僅要獲取系統(tǒng)的性能指標,更重要的是對性能表現(xiàn)能夠進行解釋,從而優(yōu)化系統(tǒng)以使實際應用獲得較好性能。
基本性能參數(shù)測試包括CPU、內(nèi)存、I/O、網(wǎng)絡、操作系統(tǒng)、文件系統(tǒng)、編譯器、數(shù)據(jù)庫的性能指標。CPU性能指標除主頻、運算部件數(shù)、流水線長度、定點性能、浮點性能外,要重視一、二級緩存的大小和帶寬?,F(xiàn)代體系結構和編譯器都是針對應用的數(shù)據(jù)局部性,努力提高cache命中率,二級cache性能尤其重要。標準Benchmark可以測出緩存操作(包括TLB)的延遲。在評測浮點性能時,尤其是RISC結構和向量結構,要關注應用程序能否利用編譯器和優(yōu)化數(shù)學庫將浮點部件充滿。
- 內(nèi)存性能是至關重要而又常常被忽視的,性能指標包括內(nèi)存總線數(shù)據(jù)寬度、存取頻率、不同數(shù)據(jù)模式下讀寫操作的延遲和帶寬。對于交叉開關類型的內(nèi)存結構,要弄清分別到CPU、存儲體、I/O總線的性能,計算密集型或I/O密集型應用對此有不同的要求。另一個重要的方面是內(nèi)存性能的可擴展性,即隨著處理器數(shù)目、內(nèi)存容量、I/O總線數(shù)目的增多,分配給每個部件的內(nèi)存性能應保持基本恒定,如一個處理器內(nèi)存拷貝帶寬180MB/s,四個處理器同時進行內(nèi)存拷貝每個都能獲得160MB/s帶寬。
- I/O性能指標包括I/O總線數(shù)目和帶寬、磁盤通道的數(shù)目和帶寬、磁盤的性能(轉速、尋道時間、cache大小等),以及它們的連接方式。I/O性能非常依賴于硬件實現(xiàn)和文件系統(tǒng)、數(shù)據(jù)庫的實現(xiàn),硬件峰值指標常常不能說明具體性能,雖有Andrew、Bonnie測試,到目前為止尚缺乏很好的I/O密集型應用性能評價標準,尤其是并行I/O方面。用戶要區(qū)分文件系統(tǒng)性能和I/O物理性能,文件系統(tǒng)性能受各種緩沖、延遲寫等策略的影響很大。
- 網(wǎng)絡性能指標中除服務器方的TCP、UDP點到點的帶寬和吞吐量外,還包括scatter(一對多)、gather(多對一)、bi-section(多對多)帶寬,測試網(wǎng)絡系統(tǒng)總的容量。對于有系統(tǒng)高速網(wǎng)絡的分布式計算機系統(tǒng),內(nèi)部網(wǎng)絡總容量更為重要。 #p#page_title#e#
- 操作系統(tǒng)是所有軟件的基礎,它的性能評價不僅僅反映系統(tǒng)的性能,還有助于我們調(diào)整系統(tǒng)配置和參數(shù),以使系統(tǒng)更適合于具體應用。操作系統(tǒng)Benchmark能得到許多基本性能參數(shù),而系統(tǒng)調(diào)用、中斷、進程切換、線程調(diào)度開銷、存儲映射性能是十分依賴操作系統(tǒng)實現(xiàn)的,對特定應用至關重要。文件系統(tǒng)雖是操作系統(tǒng)的一部分,但具有特殊的重要性,主要指標包括讀寫帶寬、文件緩沖區(qū)性能、文件操作吞吐量。石油應用十分依賴于文件讀帶寬,可用少量大文件、大數(shù)據(jù)塊讀取模式測得;Web應用依賴緩沖區(qū)實現(xiàn)性能,可用Lmbench中文件性能評價測得;NFS文件服務器依賴于文件操作吞吐量,可用Andrew Benchmark測得。文件系統(tǒng)性能受應用I/O模式、硬件配置影響很大,對評測結果要仔細分析。編譯器性能對計算類應用最為重要,尤其是多條浮點流水線的系統(tǒng),應用的性能取決于編譯器能否很好地對應用源程序進行優(yōu)化。用戶評測時要選擇合適的應用,以反映編譯器的各項優(yōu)化策略的能力,如循環(huán)交換、數(shù)據(jù)局部性、寄存器分配。好的編譯器相當于給千里馬配了一副好鞍。數(shù)據(jù)庫性能指標較復雜,簡單的性能評價包括Create, Index, Join, Scan等基本操作的性能,但無法反映出應用的真實性能。
系統(tǒng)性能參數(shù)需要專業(yè)知識分析,實際應用測試受軟硬件條件限制,核心應用測試是較現(xiàn)實的方式,它較能真實反映應用的實際性能。廠商一般會提供SPECweb, TPC-C, TPC-D, Linpack值,可作為比較之用。要特別注意得到這些性能指標時的軟硬件配置,如得到tpmC值時的服務器的處理器、內(nèi)存、磁盤控制器、磁盤配置、客戶端、網(wǎng)絡、數(shù)據(jù)庫、操作系統(tǒng)、中間件、用戶數(shù)等的配置,還要關注$/tpmC值,以判定這樣的構成和成本是否滿足用戶的實際情況。不同的SPECweb測試表示不同的應用模式,同時系統(tǒng)配置也至關重要。Linpack測試要注意問題的規(guī)模、內(nèi)存大小、編譯器、優(yōu)化數(shù)學庫或其它優(yōu)化手段。理想的方式是按用戶的實際情況讓廠商提供測試環(huán)境,用戶自行開發(fā)特定的核心應用測試,如計算類應用各行業(yè)都有典型的評測應用,例如,氣象領域的MM5,石油領域的三維疊前深度偏移,數(shù)學領域的FFT、偏微分方程、特征值求解,化學領域的Guass98,生物領域的分子動力學等。另外,要注意評測系統(tǒng)的可擴展性,包括處理器、內(nèi)存、磁盤、網(wǎng)絡、分布式系統(tǒng)的節(jié)點增加對Benchmark性能的影響。
實際應用評測要求真實性,尤其是系統(tǒng)的配置,Benchmark的數(shù)據(jù)數(shù)量和運行時間可以縮小,但處理過程一定要真實,同時要有專業(yè)人員幫助調(diào)節(jié)系統(tǒng)的性能,同樣,要關注系統(tǒng)的可擴展性和長期運行時性能的穩(wěn)定性。
總結:
計算機系統(tǒng)的性能評價是非常復雜的,依賴于系統(tǒng)的多種因素和應用的特征。一個認真的銀行信息中心在購買一臺大型服務器前,可能要求廠商按真實應用進行兩周不間斷的Benchmark測試和性能優(yōu)化。并行計算機系統(tǒng)的性能評價更是一個重要的研究方向。對于用戶來說,有三點牢記在心,第一,系統(tǒng)性能要均衡,均衡也是一個好的計算機系統(tǒng)努力的目標;第二,要仔細分解實際應用的性能因素,沒有適合所有應用的系統(tǒng),一個應用也不可能在所有系統(tǒng)上都有好性能,抓住最重要的性能因素是至關重要的;第三,要作權衡與折衷,同時與價格、服務等其它因素一起折衷。