【序言】華為OceanStor 9000大數(shù)據(jù)存儲系統(tǒng)在標(biāo)準(zhǔn)性能評估機(jī)構(gòu)SPEC的SPECsfs2008基準(zhǔn)測試中再次刷新記錄, 領(lǐng)先友商產(chǎn)品3倍多,成為存儲業(yè)界性能新的領(lǐng)導(dǎo)者。這也是華為存儲產(chǎn)品繼2009 年、2011年、2012年三次獲得最高測試結(jié)果后,又一次領(lǐng)跑SPECsfs2008測試,創(chuàng)造新的SPEC記錄。
1、測試前的爭議
雖然有了前三次SPEC性能測試的經(jīng)驗(yàn),但是面對這次500萬OPS性能極限的沖刺,華為內(nèi)部測試團(tuán)隊(duì)也有了很大的爭議。“已經(jīng)有了業(yè)界領(lǐng)先的評測數(shù)據(jù)為什么還要進(jìn)行更高的性能測試?測試需要投入大量的人力、物力,這次更高性能的測試有什么意義?”類似的問題一直被提及。我們也一直問自己,“我們的測試能夠?yàn)榭蛻魩硎裁矗?rdquo;項(xiàng)目負(fù)責(zé)人龍茵回顧起測試啟動初期不斷與周邊團(tuán)隊(duì)溝通的歷程也是感慨萬千。
“以客戶為中心”--華為的立足之本,在不同的場合,不同的產(chǎn)品領(lǐng)域被提及,連客戶看不到的一個(gè)測試項(xiàng)目的啟動也不例外。“客戶的滿意度,不僅僅是產(chǎn)品的功能滿足,還有產(chǎn)品交付質(zhì)量以及后續(xù)產(chǎn)品的維護(hù)、服務(wù)質(zhì)量,甚至產(chǎn)品升級、擴(kuò)容等都需要圍繞著客戶進(jìn)行全生命周期的管理” ,在產(chǎn)品研發(fā)、客戶交付一線工作多年的項(xiàng)目專家徐忠反復(fù)提到:“500萬OPS意味著一秒鐘可同時(shí)瀏覽60萬張商品圖片,或是一秒鐘完成高分辨率的衛(wèi)星影像30景,覆蓋8萬平方公里,相當(dāng)于葡萄牙的國土面積,多個(gè)行業(yè)對存儲設(shè)備都有極限性能的需求。所以,這次大規(guī)模的測試是為500萬OPS 需求的客戶進(jìn)行的項(xiàng)目交付,從物料供應(yīng)到交付安裝,每一環(huán)節(jié)都是真實(shí)的客戶需求”。如果說前三次的SPEC測試是業(yè)界的比拼、追趕,那么這第四次測試--以500萬OPS為目標(biāo)的測試,更像是華為“自我批判”的精神實(shí)踐--不斷的自我否定,不斷的的自我超越。
2、第一個(gè)吃螃蟹,吃出新花樣
在SPEC測試標(biāo)準(zhǔn)中只定義了最基本的測試項(xiàng)目,但具體廠商采用什么方法測試,采用多少的數(shù)據(jù)量進(jìn)行測試并沒有統(tǒng)一的指導(dǎo)書。針對500萬OPS 的極限性能更沒有現(xiàn)成的測試方案可以照搬,華為測試小組通過前三次的測試積累,逆向倒推出一個(gè)基本的測試方案,其中從數(shù)據(jù)量、文件大小、文件操作及可靠性、部署簡易程度等多方面梳理出測試準(zhǔn)備項(xiàng)。
表一 測試需求項(xiàng)簡表
同時(shí), 根據(jù)梳理的測試需求項(xiàng)整理了測試的硬件環(huán)境。硬件需求分為客戶壓力測試機(jī)、OceanStor 9000節(jié)點(diǎn)及交換機(jī)配置。具體包含客戶測試機(jī)的選型、配置及OceanStor每節(jié)點(diǎn)的硬件配置,如,每節(jié)點(diǎn)內(nèi)存&NVDIMM、網(wǎng)卡、SSD、SAS磁盤需求、交換機(jī)型號和接口數(shù)。
3、化整為零,步步為營
大規(guī)模硬件設(shè)備互聯(lián)、軟件快速部署、系統(tǒng)性能調(diào)優(yōu)等問題都是業(yè)界難以突破500萬OPS基準(zhǔn)測試的重要因素。華為測試項(xiàng)目組決定:初始使用小規(guī)模集群,做小規(guī)模測試,隨后增加測試節(jié)點(diǎn),最終完成系統(tǒng)500萬OPS測試目標(biāo)。
3.1 小試牛刀
小規(guī)模集群驗(yàn)證中,實(shí)證選定客戶機(jī)及內(nèi)存、網(wǎng)卡配置可滿足測試需求,且按照線性擴(kuò)展原則,20臺客戶機(jī)即可滿足測試終極測試目標(biāo)需要。
并且OceanStor 9000在10、20、40節(jié)點(diǎn)規(guī)模的測試環(huán)境下,取得50萬OPS,100萬、200萬OPS時(shí)延都低于2ms的結(jié)果,達(dá)到了小規(guī)模測試要求,取得了階段性的勝利。
圖1 10節(jié)點(diǎn)測試結(jié)果
圖2 20節(jié)點(diǎn)測試結(jié)果
圖3 40節(jié)點(diǎn)測試結(jié)果
3.1一步一腳印,再出發(fā)
通過了小規(guī)模的階段測試,項(xiàng)目組沒有時(shí)間進(jìn)行慶賀,馬不停蹄向500萬OPS目標(biāo)前進(jìn)。隨著節(jié)點(diǎn)的增多,產(chǎn)品交付中的細(xì)小、低概率問題被無數(shù)倍的放大,成為華為質(zhì)量里不可接受的問題。
·質(zhì)量一致性
根據(jù)測試驗(yàn)證進(jìn)度計(jì)劃,華為供應(yīng)鏈采用多批次供貨策略。在進(jìn)行100節(jié)點(diǎn)集群驗(yàn)證時(shí),發(fā)現(xiàn)在軟件、系統(tǒng)配置相同情況下,其中一臺設(shè)備性能與其他設(shè)備相差10倍以上。經(jīng)過分析,發(fā)現(xiàn)該設(shè)備在相同操作系統(tǒng)配置,相同啟動選項(xiàng)條件下,設(shè)備時(shí)鐘源與其他設(shè)備不一樣。針對這個(gè)問題進(jìn)一步分析,最終判定是該臺設(shè)備的一個(gè)硬件器件參數(shù)異常,造成時(shí)鐘源選擇錯誤。通過增加物料參數(shù)檢查、調(diào)整該參數(shù)使用,在確保可靠的條件下,容忍更大的偏差等硬、軟多個(gè)手段解決該問題。
·大規(guī)模集群部署和監(jiān)控
使用單節(jié)點(diǎn)修改配置、順序啟動等傳統(tǒng)的部署方案不能夠滿足大規(guī)模集群部署。OceanStor 9000設(shè)計(jì)了方便易用的部署和監(jiān)控方式,在小規(guī)模集群驗(yàn)證中,只要導(dǎo)入配置表單,系統(tǒng)即能自動完成部署,完成文件系統(tǒng)裝載,20節(jié)點(diǎn)約半小時(shí)。經(jīng)優(yōu)化系統(tǒng)最大文件句柄數(shù),協(xié)調(diào)各節(jié)點(diǎn)之間TCP鏈接、監(jiān)控鏈接。100節(jié)點(diǎn)部署時(shí)間大約在1 小時(shí)左右,系統(tǒng)部署性能得到大幅提升。
·大規(guī)模系統(tǒng)參數(shù)調(diào)優(yōu)
系統(tǒng)中有大量的可調(diào)參數(shù)用于優(yōu)化性能,如何快速的找到最有效的參數(shù),并調(diào)整到合適的值對于測試小組來說是個(gè)巨大的挑戰(zhàn)。調(diào)優(yōu)小組將參數(shù)分為操作系統(tǒng)參數(shù)和巫山文件系統(tǒng)參數(shù)兩大類;操作系統(tǒng)參數(shù)又分為協(xié)議棧相關(guān)和硬件驅(qū)動相關(guān)兩類。
文件系統(tǒng)調(diào)優(yōu)主要集中在各子系統(tǒng)對系統(tǒng)資源的分配,使用iostat、systemtap、perf、sar等系統(tǒng)工具以及自研延時(shí)分析統(tǒng)計(jì)工具,詳細(xì)分析網(wǎng)絡(luò)IO地圖、磁盤IO地圖,內(nèi)存使用比例關(guān)系,流程耗時(shí),線程及接口CPU占用情況,逐步調(diào)整出各子系統(tǒng)最佳線程配比,最佳內(nèi)存分配比例,最佳CPU綁定策略。
通過觀察網(wǎng)絡(luò)獨(dú)立壓力測試的情況,分別對BIOSMaxPayload、中斷均衡腳本、TCP buffer等參數(shù)進(jìn)行調(diào)整,使得網(wǎng)卡延時(shí)縮短,吞吐量增大,最終網(wǎng)絡(luò)獨(dú)立壓力測試獲得最好效果。
最后將操作系統(tǒng)和文件系統(tǒng)整合到一起,確定調(diào)整參數(shù)有效,對有沖突或者還有明顯瓶頸的位置,再次綜合分析原因。
·并行的開發(fā)和性能調(diào)優(yōu)版本管理
為了應(yīng)對并行的功能開發(fā)與性能調(diào)優(yōu),每個(gè)模塊、接口、獨(dú)立流程開發(fā)時(shí)即保證功能正確、異常處理完善、代碼無冗余、系統(tǒng)資源使用合理。每日自動構(gòu)建集成的LLT測試及時(shí)發(fā)現(xiàn)獨(dú)立單元可能的問題,并且得出這些單元的性能情況。每次構(gòu)建若發(fā)現(xiàn)單元性能差異,與發(fā)現(xiàn)問題一樣及時(shí)得到解決。
迭代模塊交付后,在自動化測試中集成性能測試,監(jiān)控每個(gè)版本性能基線,出現(xiàn)性能倒退或者與理論分析不符,及時(shí)分析可能原因作出優(yōu)化。以下為性能優(yōu)化迭代流程圖。
所有優(yōu)化均落入版本發(fā)布流程落入交付版本,保證客戶能夠獲得高質(zhì)量高性能產(chǎn)品。
測試過程中碰到的問題有大、有小,有預(yù)計(jì)之中,也有意料之外的難題,測試項(xiàng)目組齊心協(xié)力,解決了一個(gè)又一個(gè)的難題。隨著測試數(shù)據(jù)的步步達(dá)成,終極目標(biāo)近在咫尺。
4、一直在路上
100節(jié)點(diǎn)測試結(jié)果
OceanStor 9000產(chǎn)品提交四種集群規(guī)模(10、20、40、100節(jié)點(diǎn))SPECsfs2008性能測試結(jié)果,并一次性通過SPEC認(rèn)證。其中100節(jié)點(diǎn)規(guī)模的系統(tǒng)OPS可達(dá)到5,030,264,時(shí)延也低至1.63ms,在SPECsfs2008性能測試結(jié)果中遙遙領(lǐng)先。從四種規(guī)模測試結(jié)果可以很容易看出,OPS 性能與節(jié)點(diǎn)數(shù)量成正比,并且時(shí)延曲線趨勢一致(時(shí)延都在2ms以下),完全滿足系統(tǒng)大規(guī)模擴(kuò)展時(shí)容量與性能的雙重需求,同時(shí),最終的100節(jié)點(diǎn)部署時(shí)間在1小時(shí)左右,加快了實(shí)際項(xiàng)目交付的進(jìn)度。真實(shí)的測試環(huán)境、第三方認(rèn)證的測試數(shù)據(jù),大大消除了客戶對產(chǎn)品的疑慮,這些行動的出發(fā)點(diǎn)不僅是因?yàn)槿A為人對產(chǎn)品質(zhì)量的信心,更是華為人“以客戶為中心”核心價(jià)值的體現(xiàn)。
“有時(shí)候會碰到客戶對產(chǎn)品性能參數(shù)的質(zhì)疑,我們會婉轉(zhuǎn)的給客戶看華為存儲產(chǎn)品經(jīng)過第三方認(rèn)證的測試結(jié)果。華為存儲產(chǎn)品的規(guī)格、性能參數(shù)不是空洞洞的寫在產(chǎn)品彩頁中的,而是實(shí)實(shí)在在通過真實(shí)測試環(huán)境測出來的,并是獲得第三方的認(rèn)證的規(guī)格。同樣,在客戶側(cè)的測試中,我們的測試結(jié)果令客戶非常滿意,產(chǎn)品獲得了客戶的高度認(rèn)可。”海量存儲產(chǎn)品總經(jīng)理袁遠(yuǎn)描述了客戶從質(zhì)疑到信服的心理變化。
面對產(chǎn)品獲得的榮譽(yù),測試項(xiàng)目組卻一刻不能停歇,OceanStor 9000極限容量的測試目標(biāo)已經(jīng)確定, 項(xiàng)目組成員又開始忙碌起來……
SPECsfs2008基準(zhǔn)小百科
SPEC(Standard Performance Evaluation Corporation)標(biāo)準(zhǔn)性能評估機(jī)構(gòu)是全球系統(tǒng)應(yīng)用性能評測的權(quán)威機(jī)構(gòu)之一(SPEC 組織官網(wǎng):<http://www.spec.org/>)。 EMC、Netapp、IBM等60個(gè)IT主流廠家都是SPEC機(jī)構(gòu)成員,均參與標(biāo)準(zhǔn)的制定并且通過該標(biāo)準(zhǔn)認(rèn)證機(jī)構(gòu)發(fā)布產(chǎn)品性能數(shù)據(jù)。
SPECsfs2008是文件服務(wù)應(yīng)用的核心測評基準(zhǔn)(<http://www.spec.org/sfs2008/> )是將典型文件服務(wù)器應(yīng)用進(jìn)行抽象,把真實(shí)的業(yè)務(wù)壓力轉(zhuǎn)化為可測試、可衡量的參數(shù)值:通過文件訪問的吞吐量和響應(yīng)時(shí)間評估文件服務(wù)器性能,同時(shí)保證存儲數(shù)據(jù)可靠性、一致性,并遵守接入一致性原則。
在SPEC官網(wǎng)上,通過測試的產(chǎn)品名單每季度刷新,最新的2013年第四季度通過測試的產(chǎn)品名單,可參閱:<http://www.spec.org/sfs2008/results/res2013q4/>。