王濤 陳英達
【摘要】? ? 隨著信息系統(tǒng)的飛速發(fā)展、硬件設(shè)備更新?lián)Q代,企業(yè)若需對云計算平臺上硬件資源、應(yīng)用系統(tǒng)的容量進行有效管理,需要企業(yè)對現(xiàn)有的評測體系進行深入的了解和對比。從現(xiàn)有服務(wù)器性能評測體系中(Tpc-c、Spec、Linpack、RPE2)選擇那種適合企業(yè)自身的評估方法;隨著X86服務(wù)器性能飛速發(fā)展的今天,企業(yè)在進行硬件采購時,需要去除唯IOE論、需構(gòu)建小型機與X86服務(wù)器之間性能換算通道、解決企業(yè)在硬件選型時如何進行快速決策,這些在本文的“容量評估”中可以找到解決方案。
【關(guān)鍵詞】? ? 容量評估? ? 性能估算? ? Tpc-c、Spec? ? 硬件資源? ? 信息系統(tǒng)
引言
傳統(tǒng)云平臺規(guī)劃建設(shè)中的容量管理體系還不夠完善,欠缺對應(yīng)用系統(tǒng)的容量進行快速測算與評估的方法,導(dǎo)致應(yīng)用系統(tǒng)的容量評估成本過高、評估效率過低、評估時間過長,影響云平臺的總體容量規(guī)劃及建設(shè)進度。現(xiàn)業(yè)界眾多服務(wù)器評測體系中,例如:SPEC、TPC、Linpack在內(nèi),雖然從處理器性能、服務(wù)器性能、商業(yè)應(yīng)用性能到高性能計算機的性能,都給出了不同的量化評價指標,但均存在著不同程度的局限性。因此,需要結(jié)合企業(yè)云平臺的特點,建立一套科學(xué)的容量快速估算方法,根據(jù)應(yīng)用系統(tǒng)的資源利用情況快速獲取硬件資源需求,從而降低硬件資源評估成本和評估時間,提升評估效率,為云平臺的總體容量規(guī)劃提供技術(shù)依據(jù),加快云平臺建設(shè)進度,防止資源浪費或不足[1]。
一、服務(wù)器性能評測體系介紹
1.1 TPC-C
TPC是由數(shù)10家成員公司組建的非盈利機構(gòu),其總部設(shè)在美國。該組織對全世界開放,但迄今為止,絕大多數(shù)成員都是西歐、日、美大公司,其成員主要是計算機軟硬件廠家,而非計算機用戶,它的功能是制定商務(wù)應(yīng)用基準程序的標準規(guī)范、性能和價格度量,并管理測試結(jié)果的發(fā)布。
TPC曾經(jīng)推出過四套基準程序,被稱為:TPC-A、TPC-B、TPC-C和TPC-D。其中A和B已經(jīng)過時,不再使用。TPC-C是專門針對聯(lián)機交易處理系統(tǒng)(OLTP)的基準程序,TPC-D是一個廣泛的決策支持(Decision Support)規(guī)范。TPC即將推TPC-E規(guī)范,作為大型企業(yè)(Enterprise)信息服務(wù)的基準程序。
1.2 SPEC
SPEC是由30個左右世界知名計算機大廠商所支持的全球性第三方非營利性合作組織,其成員包括IBM、AT&T、BULL、CDC、DG、DEC等。它致力于建立、修訂以及制定一系列服務(wù)器性能評估的基準套件。目前包括8大測試規(guī)范、26種測試模型。當(dāng)前主要的基準測試程序有SPEC int_base_rate 2000、SPEC fp_base_rate 2000和SPEC JBB 2000等。
SPEC應(yīng)用服務(wù)器性能測試是一個全面衡量java企業(yè)服務(wù)器在Web應(yīng)用中的性能基準套件。在這個基準中是模擬一個現(xiàn)代化企業(yè)的電子化業(yè)務(wù)工作,如產(chǎn)品生產(chǎn)制造管理、客戶定購查詢、供應(yīng)商和服務(wù)提供商管理等,對系統(tǒng)進行壓力測試,以測試全面運行典型java業(yè)務(wù)應(yīng)用的服務(wù)器性能水平。
SPEC web2005評測的原理是:通過多臺客戶機向SERVER發(fā)出Http Get請求,請求調(diào)用Web服務(wù)器上的網(wǎng)頁文件,這些文件從數(shù)千字節(jié)到數(shù)兆字節(jié)不等。在相同的時間里,服務(wù)器響應(yīng)的請求越多,就表明服務(wù)器對客戶端的處理能力越強,Web性能就越好。
SPEC CPU 2006包括了CFP2006和CINT2006兩個子項目,前者是用于測量和對比浮點性能,而后者則用于測量和對比整數(shù)性能。
1.3 Linpack
Linpack,國際上最常用于評測高性能計算機系統(tǒng)浮點性能的benchmark。通過使用高性能計算機,采用高斯消元法求解N元一次稠密線性代數(shù)方程組的測算,評估高性能計算機的浮點性能。
Linpack測試值是指實測的浮點峰值,也就是說在被測服務(wù)器上運行Linpack測試程序,通過進行各種調(diào)優(yōu)方法得到最優(yōu)的測試效果。然而在實際程序運行過程中,幾乎是不可能達到實測浮點峰值,更不用提達到理論浮點峰值。這兩個數(shù)值只是作為衡量機器性能的一個理論指標,用來表明機器處理能力的一個最大值和潛能的參考。
1.4 RPE2
RPE2由IDEAS international公司發(fā)布。它只是理論上,通過對TPC-C,TPC-H,SAP SD 2-Tier,SPECjbb,SPECint_rate,SPECfp_rate等benchmark進行幾何運算得來,并不經(jīng)過真實的測試環(huán)境。重要作用是為了在不同的產(chǎn)品處于不同的benchmark時,且各自存在優(yōu)劣時進行比較。
1.5云平臺容量評估
1、方法
云平臺容量評估的目標是提供一種云平臺容量估算的體系和方法,針對不同業(yè)務(wù)的信息系統(tǒng)應(yīng)用所需的硬件資源,通過實際的調(diào)研、測試、擬合,實現(xiàn)各硬件資源通用的估算方法。
成熟的企業(yè)從不完全依賴于“國際通用標準”,而是使用符合自己的體系和規(guī)范來測試系統(tǒng),建立容量評估,從而為選型提供依據(jù)?!皣H通用標準”的度量可以作為參考、學(xué)習(xí),而不應(yīng)作為充分必要條件。容量評估實施的工作思路為三個階段:前期調(diào)研分析,模型研究,驗證完善。
2、調(diào)研
收集國內(nèi)外容量管理經(jīng)驗相關(guān)資料,匯總分析成熟路線,借鑒業(yè)內(nèi)先進經(jīng)驗,分析其對南企業(yè)的業(yè)務(wù)系統(tǒng)的適用性,制定符合企業(yè)業(yè)務(wù)特點的技術(shù)研究路線。
3、研究過程主要分三個階段
(1)公司業(yè)務(wù)系統(tǒng)容量管理現(xiàn)狀分析
總結(jié)國內(nèi)外成熟技術(shù)路線及方法特點,收集公司全業(yè)務(wù)系統(tǒng)基礎(chǔ)信息,調(diào)研容量管理需求。
(2)業(yè)務(wù)系統(tǒng)應(yīng)用容量研究
分析公司應(yīng)用系統(tǒng)特點,量化研究系統(tǒng)典型模塊資源需求,評估業(yè)務(wù)系統(tǒng)整體資源需求。
(3)硬件資源容量研究
匯總業(yè)內(nèi)各廠商硬件設(shè)備(服務(wù)器、存儲等)性能指標,研究分析不同廠商、型號、配置等性能參數(shù),構(gòu)建硬件設(shè)備資源容量。
(4)云平臺總體容量的研究
把應(yīng)用系統(tǒng)所需的容量按業(yè)務(wù)類型進行分類,作為計算云平臺容量的源數(shù)據(jù),根據(jù)業(yè)務(wù)類型容量及業(yè)務(wù)高峰期時間,評估出企業(yè)云平臺的總體規(guī)劃容量。
4、驗證完善
選取云平臺上的典型應(yīng)用和典型軟硬件配置進行模型測試驗證,根據(jù)驗證結(jié)果對容量評估進行修訂。
5、建立模型的過程
容量評估的建立就是通過實測數(shù)據(jù)分析、擬合、經(jīng)驗等方法,對云平臺上的未建或擴容系統(tǒng)評估其業(yè)務(wù)容量的過程。通過數(shù)據(jù)擬合法,經(jīng)驗評估法兩種方法,在可研、設(shè)計,上線前和上線后四個階段建立信息系統(tǒng)容量評估。
(1)數(shù)據(jù)擬合法:通過大量數(shù)據(jù)采集、建立數(shù)學(xué)模型,運用統(tǒng)計學(xué)軟件SPSS等進行數(shù)據(jù)擬合;
(2)經(jīng)驗評估法:主要依靠經(jīng)驗豐富的研發(fā)和應(yīng)用人員,結(jié)合在運其他系統(tǒng)建設(shè)情況,對現(xiàn)有系統(tǒng)容量進行評估;
可研階段:首先需要對目標系統(tǒng)的功能及非功能性需求進行量化,然后將量化數(shù)據(jù)輸入測算模型計算出最低處理能力需求;通過用戶調(diào)研表,將系統(tǒng)拆分到模塊層面,主要含功能、并發(fā)量等信息,通過典型模塊參考字典,進行容量評估。
設(shè)計階段:此階段,表結(jié)構(gòu)、SQL等子模塊已經(jīng)完成將主要模塊拆分到SQL等底層操作層面,通過SQL語句容量參考字典,精細化評估系統(tǒng)容量[2]。
上線前階段:針對系統(tǒng)上線,進行測試,參考已建立的容量評估,通過壓力測試等,對開發(fā)商研發(fā)進行評判。
上線后階段:結(jié)合上線后,系統(tǒng)容量各項指標變化,構(gòu)建趨勢分析,科學(xué)進行容量擴容。
二、各服務(wù)器性能評測體系對比
2.1 TPC-C解讀
從TPC-C的定義可知:這套基準規(guī)范是用來衡量整個IT系統(tǒng)的性能,而不是單一評估服務(wù)器或某個硬件設(shè)備的標準,而且tpmC數(shù)值的大小直接受到各個環(huán)節(jié)的影響。這里的“IT系統(tǒng)”包括服務(wù)器、外設(shè)(如硬盤或RAID)、數(shù)據(jù)庫軟件、服務(wù)器端操作系統(tǒng)、客戶端及其操作系統(tǒng)、數(shù)據(jù)庫軟件和網(wǎng)絡(luò)連接等。
因此tpmC數(shù)值會因不同的采購配置有非常大的差別;TPC不給出基準程序的代碼,而只給出基準程序的標準規(guī)范。任何廠家或其他測試者都可以遵照規(guī)范,構(gòu)造出對自己最優(yōu)的測試系統(tǒng)(測試程序和測試平臺)[3]。
假如同樣的服務(wù)器被應(yīng)用到用戶的環(huán)境中,廠家報的tpmC值就沒多大的意義,因為用戶的實際系統(tǒng)與廠家原來用來做TPC測試的系統(tǒng)完全不同。當(dāng)同樣的服務(wù)器用在不同的系統(tǒng)中時,tpmC值可能有相當(dāng)大的差異,很多用戶還沒有考慮到這一點。
2.2 SPEC解讀
從SPEC基準測試的定義可以知道,這套標準規(guī)范主要是用于估算內(nèi)存性能、CPU和Web服務(wù)器性能。
SPEC CPU測試中,測試系統(tǒng)的處理器、內(nèi)存子系統(tǒng)和使用到的編譯器(SPEC CPU提供的是源代碼,并且允許測試用戶做一些編譯優(yōu)化)都會影響最終的測試結(jié)果。
綜上所述,SPEC基準測試可以對CPU、WEB服務(wù)器性能指標給出一套相對參考,但是仍然不能與客戶的業(yè)務(wù)系統(tǒng)產(chǎn)生關(guān)聯(lián),不能從SPEC基準中估算具體業(yè)務(wù)系統(tǒng)的擴容采購“量”。
2.3 Linpack
Linpack基本上就是用來解決線性方程的公式轉(zhuǎn)換語言集,因此比較適合用來衡量超級計算機的計算性能,應(yīng)用領(lǐng)域比較單一,與大多數(shù)普通的應(yīng)用系統(tǒng)關(guān)聯(lián)度不大[4]。用其估算“容量”,除費用成本高之外,還存領(lǐng)域跨度大,與實際應(yīng)用系統(tǒng)“脫節(jié)”。
2.4 RPE2
RPE2本身不做測試,依賴于其他機構(gòu)發(fā)布的數(shù)據(jù),所以存在局限性,例如:新服務(wù)器在沒有及時發(fā)布相關(guān)數(shù)據(jù)或數(shù)據(jù)不準確時,RPE2就不能很好的進行估算[5]。而且,RPE2本身只是對已知的選型方案進行橫向比較,自身不對容量進行估算。
2.5云平臺容量評估
從云平臺容量評估的原理可以知道:并不側(cè)重CPU物理設(shè)備的性能指標測算,而是通過數(shù)據(jù)擬合、經(jīng)驗評估法,從實際業(yè)務(wù)系統(tǒng)的特點出發(fā),對云平臺上的業(yè)務(wù)系統(tǒng)容量進行估算,然后配合海量的硬件數(shù)據(jù)字典,使得“容量評估”符合企業(yè)實際業(yè)務(wù)系統(tǒng)特性,從而可以較真實的評估系統(tǒng)資源。雖然“容量評估”主要針對企業(yè)業(yè)務(wù)特性定制,但是對有經(jīng)驗的專業(yè)人員而言,可以通過研究分析不同系統(tǒng)之間的難易程度規(guī)律,使用調(diào)整“業(yè)務(wù)復(fù)雜度系數(shù)”也可以通過也有模型對不同系統(tǒng)進行橫向評估。
通過云平臺容量評估,可以幫助企業(yè)解決高采購成本,設(shè)計符合企業(yè)總體要求、滿足項目具體需求的硬件資源測算方法,建立一套符合自身業(yè)務(wù)系統(tǒng)特點的設(shè)備容量測試標準體系,解決企業(yè)在實際的硬件選型中遇到的困難,評估企業(yè)云平臺的總體規(guī)劃容量,減少資源的浪費和不足。
三、總結(jié)
綜上所述,現(xiàn)有的主流基準測試更偏重理論,可以作為一個輔助參考標準,就企業(yè)對服務(wù)器選型來說,只依靠“國際通用”的度量作為選型依據(jù)是不夠嚴謹?shù)?,因為服?wù)器最終是服務(wù)于特定的軟硬件環(huán)境下、不同的網(wǎng)絡(luò)、數(shù)據(jù)庫及應(yīng)用系統(tǒng)等,服務(wù)器的性能表現(xiàn)會存在不同,因此在進行性能評估時,“國際通用”的度量有可能不夠準確,甚至與實際有很大差別,所以“國際通用”可以作為參考,但不是選型的唯一依據(jù)。
例如,估算OLTP數(shù)據(jù)庫服務(wù)器的容量通常使用TPC-C標準,估算OLAP數(shù)據(jù)庫服務(wù)的容量使用TPC-H標準,估算應(yīng)用中間件服務(wù)器的容量使用SPECjl3b2005標準,估算Web服務(wù)器的容量使用SPECweb99標準,估算企業(yè)資源計劃服務(wù)器的容量使用SAI^s標準。雖然這些標準提供了容量估算的基本方法,但是:
(一)不同類型應(yīng)用服務(wù)器的衡量標準是不一樣的,缺乏一個統(tǒng)一的容量估算體系對各種業(yè)務(wù)應(yīng)用系統(tǒng)中的不同服務(wù)器進行通用估算。
(二)同時,在具體使用各種標準進行估算前,要求按照每個標準的規(guī)范建立各自嚴格的測試場景,很難實現(xiàn)通用性。
(三)另外,影響系統(tǒng)資源使用率的一個重要因素是:用戶需求。隨著業(yè)務(wù)的變化,用戶需求勢必發(fā)生改變。但是在新的應(yīng)用系統(tǒng)服務(wù)器投入運行之前,使用各種標準進行容量估算的過程中,由固定標準規(guī)定了固定的用戶需求值,使得估算容量和將來實際容量之間可能存在較大偏差。
1、云平臺容量評估的注意事項
企業(yè)對云化應(yīng)用硬件資源容量需求估算方面,需要注意:
(1)最好構(gòu)建一個真實的試點,因為實際應(yīng)用環(huán)境是檢驗系統(tǒng)的最好標準。
(2)“國際通用”的度量可以作為參考值,但是不應(yīng)該作為必要條件。
(3)不論是TPC-C還是SPEC,其計算結(jié)果都只能作為一個橫向比較的參考。在實際應(yīng)用中,決定系統(tǒng)性能的因素除了硬件、系統(tǒng)軟件外,與應(yīng)用軟件的設(shè)計、架構(gòu)也是有很重要的聯(lián)系[6]。
2、云平臺容量評估的應(yīng)用價值
從信息化主管部門的角度出發(fā),構(gòu)建一套云計算平臺容量評估體系是非常有必要的,這其中包括:
(1)通過對各部門業(yè)務(wù)系統(tǒng)運行情況的調(diào)研,進行歷史數(shù)據(jù)的采集、整理分析,依據(jù)分類構(gòu)建基準指標庫(字典庫)。收集的信息包括:系統(tǒng)并發(fā)用戶數(shù)、服務(wù)器的配置、活躍數(shù)據(jù)量、業(yè)務(wù)復(fù)雜度、業(yè)務(wù)高峰時間段、CPU負載等;
(2)由應(yīng)用開發(fā)商定期采集基準值,更新基準字典庫。有了基準字典庫的信息參考,不僅可以用于評估項目建設(shè)方案中服務(wù)器選型,也可以對各部門進行系統(tǒng)架構(gòu)規(guī)劃的優(yōu)化提供借鑒。
參? 考? 文? 獻
[1]翟艷芬,周潤松,陳磊 基準測試在服務(wù)器選型中的研究分析與實踐 中國軟件評測中心 北京 100048 2011(05):2-2.
[2]丁玉偉, 田淵文, 王海濱. 結(jié)合統(tǒng)計學(xué)方法的銀行IT系統(tǒng)性能預(yù)測模型研究[J]. 中國金融電腦, 2015(10):42-47.
[3]Transaction Processing Performance Council (TPC) TPC BENCHMARKTM C February 2010:9-11.
[4]劉冉 如何選擇服務(wù)器性能測試工具 《程序員》, 2013(7):128-131
[5]韓光濤,張元英,HanGuangtao,ZhangYuanying SPECweb99:最新Web服務(wù)器性能基準測試《計算機應(yīng)用研究》, 2000, 17(4):101-102
[6]陳英達,鐘蘇生,周開東,麥曉輝.信息系統(tǒng)資源估算方法研究[J].信息技術(shù)與信息化,2017(11):128-131.
王濤(1982年),男,陜西寶雞,本科,工程師,主研領(lǐng)域:信息化管理,單位: 國電南瑞科技股份有限責(zé)任公司,
陳英達(1988-),男,廣東廣州,博士,工程師,主研領(lǐng)域:電力信息化工作,單位: 廣東電力信息科技有限公司,