從壓力測(cè)試說(shuō)起
壓力測(cè)試是確立系統(tǒng)穩(wěn)定性的一種測(cè)試方法,通常在系統(tǒng)正常運(yùn)作范圍之外進(jìn)行匿刮,以考察其功能極限和隱患僧凰。與功能測(cè)試不同,壓測(cè)是以軟件響應(yīng)速度為測(cè)試目標(biāo)的熟丸,尤其是針對(duì)在較短時(shí)間內(nèi)大量并發(fā)用戶的訪問時(shí)训措,軟件的抗壓能力。
至于為什么產(chǎn)品或業(yè)務(wù)系統(tǒng)在通過功能測(cè)試后還需要進(jìn)行壓力測(cè)試,原因很簡(jiǎn)單绩鸣,因?yàn)樗匾炒螅瑸槭裁粗匾勘娝苤?strong>響應(yīng)速度是用戶體驗(yàn)的核心指標(biāo)之一呀闻。 SmartBear 數(shù)據(jù)表明化借,如果 Amazon 的加載時(shí)間延長(zhǎng)1秒,那么一年就會(huì)減少16億美元的營(yíng)收捡多。用戶與網(wǎng)站互動(dòng)的過程中蓖康,如果加載時(shí)間超過3秒,57% 的用戶會(huì)流失垒手∷夂福可見,通過壓測(cè)來(lái)優(yōu)化產(chǎn)品體驗(yàn)和性能是多么的重要科贬。
壓測(cè)1.0 VS 壓測(cè)2.0
傳統(tǒng)的壓測(cè)方法通常的做法需要準(zhǔn)備大量的環(huán)境泳梆,如測(cè)試的壓力機(jī),安裝測(cè)試工具唆迁,錄制測(cè)試腳本鸭丛,對(duì)服務(wù)器不斷施加“壓力”竞穷,通過這種方式來(lái)確定系統(tǒng)的瓶頸或者不能接收的性能點(diǎn)唐责,來(lái)獲得系統(tǒng)能提供的最大服務(wù)級(jí)別的測(cè)試,這個(gè)階段我們稱之為壓測(cè)1.0瘾带。
壓測(cè)1.0時(shí)代的主流壓測(cè)工具有 LoadRunner 鼠哥, SilkPerformer , Ratinal 看政, QA Load 朴恳, Jmeter 等等, LoadRunner 為傳統(tǒng)壓測(cè)1.0時(shí)代最主要的代表產(chǎn)品允蚣。
圖1.傳統(tǒng)的壓測(cè)現(xiàn)狀
傳統(tǒng)的測(cè)試方法下很難去做到對(duì)整個(gè)系統(tǒng)去做一次大型的壓力測(cè)試于颖,這種情況下只能把每個(gè)系統(tǒng)獨(dú)立開來(lái),對(duì)他進(jìn)行性能測(cè)試嚷兔,然后對(duì)整個(gè)核心系統(tǒng)去做分析森渐,確定系統(tǒng)的短板,對(duì)短板進(jìn)行壓力測(cè)試冒晰。
通常需要用預(yù)估的方式同衣,業(yè)務(wù)部門估算今年的交易額,應(yīng)用部門估算壶运,網(wǎng)絡(luò)部門估算耐齐,基礎(chǔ)架構(gòu)部門估算。最后的結(jié)果就是如果需要1000臺(tái)服務(wù)器,那么就準(zhǔn)備1500臺(tái)埠况。如果需要5 G 的 CDN 帶寬耸携,那么就準(zhǔn)備7.5 G 。幾乎所有資源都多準(zhǔn)備50%询枚。
壓測(cè)1.0時(shí)代的壓測(cè)缺點(diǎn)很明顯违帆。
- 測(cè)試過程緩慢,周期過長(zhǎng)
- 并非聚焦于全球客戶的體驗(yàn)
- 非常昂貴的授權(quán)費(fèi)用及硬件投入
- 為實(shí)驗(yàn)室測(cè)試而設(shè)計(jì)金蜀,對(duì)生產(chǎn)或線上環(huán)境無(wú)能為力
- 不能針對(duì)當(dāng)今復(fù)雜的應(yīng)用及架構(gòu)提供實(shí)時(shí)的反饋
基于云計(jì)算的全鏈路壓力測(cè)試我們稱之為云壓測(cè)刷后,這個(gè)階段我們叫壓測(cè)2.0。云壓測(cè)通過遍布云端的壓力模擬服務(wù)器渊抄,來(lái)制造“真實(shí)用戶訪問”尝胆,這個(gè)過程可以覆蓋到真實(shí)交易系統(tǒng)的全鏈路,全業(yè)務(wù)測(cè)試系統(tǒng)护桦,并且革命性的使用云資源這種輕屬性資產(chǎn)含衔,對(duì)幾乎來(lái)自全世界互聯(lián)網(wǎng)和移動(dòng)互聯(lián)網(wǎng)的壓力進(jìn)行測(cè)試。云壓測(cè)模擬測(cè)試完全還原真實(shí)用戶網(wǎng)絡(luò)訪問狀況二庵。
圖2.“云壓測(cè)+ APM ”進(jìn)入壓測(cè)2.0時(shí)代
當(dāng)產(chǎn)生壓測(cè)需求時(shí)贪染,我們布置在各主流云廠商(AWS、阿里云催享、Azure杭隙、青云、騰訊云因妙、金山云痰憎、UCloud等等)的壓測(cè)虛機(jī)自動(dòng)下發(fā)壓測(cè)腳本,進(jìn)行云端托管式部署云端壓測(cè)機(jī)啟動(dòng)攀涵,對(duì)用戶系統(tǒng)進(jìn)行壓測(cè)铣耘。同步壓測(cè),同步產(chǎn)出壓測(cè)數(shù)據(jù)以故。
利用云計(jì)算優(yōu)勢(shì)蜗细,當(dāng)需要進(jìn)行模擬大規(guī)模用戶訪問時(shí),只要多開云主機(jī)就能實(shí)現(xiàn)怒详,需要模擬100萬(wàn)的用戶訪問炉媒,再開100臺(tái)云主機(jī)。
云壓測(cè)的準(zhǔn)備時(shí)間基本上就是由云主機(jī)啟動(dòng)時(shí)間來(lái)決定棘利,這在壓測(cè)1.0時(shí)代是根本不可能實(shí)現(xiàn)的橱野。云壓測(cè)是在云主機(jī)發(fā)起的,因此反映了真實(shí)的用戶訪問環(huán)境善玫,而壓測(cè)1.0時(shí)代的傳統(tǒng)壓測(cè)方式則必須在內(nèi)網(wǎng)的模擬環(huán)境下進(jìn)行水援。
壓測(cè)2.0時(shí)代有點(diǎn)同樣明顯密强。
- 迅速部署
- 實(shí)時(shí)統(tǒng)計(jì)
- 真實(shí)世界的規(guī)模和模擬
- 分布式的用戶
- 高效且持續(xù)
- 除去了硬件投入
壓測(cè)1.0時(shí)代的 LoadRunner VS 云壓測(cè)
云壓測(cè) + APM = 端到端的性能優(yōu)化解決方案
圖5.云壓測(cè) + APM 典型應(yīng)用場(chǎng)景
與壓測(cè)1.0時(shí)代只關(guān)注于后端性能不同,云壓測(cè)關(guān)注前端和后端性能蜗元,從前端的不同物理位置或渤、不同運(yùn)營(yíng)商鏈路、寬帶奕扣、窄帶薪鹦、帶寬、 CDN 惯豆、防火墻池磁、負(fù)載均衡,到后端的應(yīng)用軟件楷兽、數(shù)據(jù)庫(kù)地熄、硬件資源、系統(tǒng)配比等芯杀,云壓測(cè)在測(cè)試環(huán)境中還原真實(shí)業(yè)務(wù)環(huán)境端考。
云壓測(cè)和 APM 結(jié)合,全鏈路全業(yè)務(wù)接口壓力測(cè)試揭厚,全面覆蓋前后端所有環(huán)節(jié)真正實(shí)現(xiàn)端到端性能優(yōu)化解決方案却特,全方位提升用戶體驗(yàn)。
OneAPM 為更多企業(yè)提供全棧式的性能管理以及 IT 運(yùn)維管理服務(wù)筛圆。閱讀更多文章裂明,請(qǐng)?jiān)L問 OneAPM 官方技術(shù)博客