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