天天看點

壓測2.0:雲壓測 + APM = 端到端壓測解決方案

壓力測試是确立系統穩定性的一種測試方法,通常在系統正常運作範圍之外進行,以考察其功能極限和隐患。與功能測試不同,壓測是以軟體響應速度為測試目标的,尤其是針對在較短時間内大量并發使用者的通路時,軟體的抗壓能力。

至于為什麼産品或業務系統在通過功能測試後還需要進行壓力測試,原因很簡單,因為它重要,為什麼重要?衆所周知,響應速度是使用者體驗的核心名額之一。 smartbear 資料表明,如果 amazon 的加載時間延長1秒,那麼一年就會減少16億美元的營收。使用者與網站互動的過程中,如果加載時間超過3秒,57% 的使用者會流失。可見,通過壓測來優化産品體驗和性能是多麼的重要。

壓測2.0:雲壓測 + APM = 端到端壓測解決方案

傳統的壓測方法通常的做法需要準備大量的環境,如測試的壓力機,安裝測試工具,錄制測試腳本,對伺服器不斷施加“壓力”,通過這種方式來确定系統的瓶頸或者不能接收的性能點,來獲得系統能提供的最大服務級别的測試,這個階段我們稱之為壓測1.0。

壓測1.0時代的主流壓測工具有 loadrunner , silkperformer , ratinal , qa load , jmeter 等等, loadrunner 為傳統壓測1.0時代最主要的代表産品。

壓測2.0:雲壓測 + APM = 端到端壓測解決方案

圖1.傳統的壓測現狀

傳統的測試方法下很難去做到對整個系統去做一次大型的壓力測試,這種情況下隻能把每個系統獨立開來,對他進行性能測試,然後對整個核心系統去做分析,确定系統的短闆,對短闆進行壓力測試。

通常需要用預估的方式,業務部門估算今年的交易額,應用部門估算,網絡部門估算,基礎架構部門估算。最後的結果就是如果需要1000台伺服器,那麼就準備1500台。如果需要5 g 的 cdn 帶寬,那麼就準備7.5 g 。幾乎所有資源都多準備50%。

壓測1.0時代的壓測缺點很明顯。

測試過程緩慢,周期過長

并非聚焦于全球客戶的體驗

非常昂貴的授權費用及硬體投入

為實驗室測試而設計,對生産或線上環境無能為力

不能針對當今複雜的應用及架構提供實時的回報

基于雲計算的全鍊路壓力測試我們稱之為雲壓測,這個階段我們叫壓測2.0。雲壓測通過遍布雲端的壓力模拟伺服器,來制造“真實使用者通路”,這個過程可以覆寫到真實交易系統的全鍊路,全業務測試系統,并且革命性的使用雲資源這種輕屬性資産,對幾乎來自全世界網際網路和移動網際網路的壓力進行測試。雲壓測模拟測試完全還原真實使用者網絡通路狀況。

壓測2.0:雲壓測 + APM = 端到端壓測解決方案

圖2.“雲壓測+ apm ”進入壓測2.0時代

當産生壓測需求時,我們布置在各主流雲廠商(aws、阿裡雲、azure、青雲、騰訊雲、金山雲、ucloud等等)的壓測虛機自動下發壓測腳本,進行雲端托管式部署雲端壓測機啟動,對使用者系統進行壓測。同步壓測,同步産出壓測資料。

利用雲計算優勢,當需要進行模拟大規模使用者通路時,隻要多開雲主機就能實作,需要模拟100萬的使用者通路,再開100台雲主機。

壓測2.0:雲壓測 + APM = 端到端壓測解決方案

壓測2.0時代有點同樣明顯。

迅速部署

實時統計

真實世界的規模和模拟

分布式的使用者

高效且持續

除去了硬體投入

壓測1.0時代的 loadrunner vs 雲壓測

比較次元

loadrunner

雲壓測

采用技術

研發于90年代,基于c

生于21世紀,基于 java 及大資料

測試建立

需要 c 程式設計,測試門檻較高

全可視化操作,上手快

部署方式

純内網,基于實體伺服器

内外網兼顧,雲,虛機,實體機

部署時間

長,幾周或幾個月

很短,數分鐘或數小時,測試更頻繁

部署費用

昂貴,硬體,人員,時間,其他

便宜,壓側端可全雲托管,按小時分鐘計費

測試規模

小,一般不超過2000并發規模

可大可小,從100到1千萬

統計報表

很有限,非實時,依賴後期資料處理

tb級實時彙聚顯示,即測即發現問題

壓測2.0:雲壓測 + APM = 端到端壓測解決方案

圖5.雲壓測 + apm 典型應用場景

與壓測1.0時代隻關注于後端性能不同,雲壓測關注前端和後端性能,從前端的不同實體位置、不同營運商鍊路、寬帶、窄帶、帶寬、 cdn 、防火牆、負載均衡,到後端的應用軟體、資料庫、硬體資源、系統配比等,雲壓測在測試環境中還原真實業務環境。

雲壓測和 apm 結合,全鍊路全業務接口壓力測試,全面覆寫前後端所有環節真正實作端到端性能優化解決方案,全方位提升使用者體驗。

繼續閱讀