性能測試PTS鉑金版來襲!阿里雲發布T級數據壓測的終極秘笈
無限接近真實流量的全鏈路壓測,具備超高並發能力,多維動態支持壓測場景下的多變環境,1分鐘即可設置簡單壓測場景……這個神奇的壓測「黑科技」就是PTS鉑金版!
有別於PTS企業版,PTS鉑金版具有完全不同的出身,說起它,不得不從阿里巴巴每年的全球剁手黨狂歡-雙11說起。因為和其他APM服務商不同,阿里雲的壓測解決方案-性能測試服務 PTS 脫胎於阿里巴巴內部平台,而這個內部平台堪稱雙11保障的核武器。在經過超高峰值、超高複雜度的千錘百鍊後,PTS鉑金版正式對外輸出,讓廣大企業級用戶能用最低的投入,享受阿里雙11保障級的性能測試服務。
來看下我們需要面對的挑戰,以2016年雙11前30分鐘為例,每秒交易峰值17.5W筆,每秒支付峰值12W筆,相關鏈路光核心系統上百個,還有龐大的底層基礎設施(網路、IDC、硬體、虛擬化、調度、彈性能力等),以及所有的中間件服務、資料庫、存儲,我們保障雙11的需求分層依次是確保沒有瓶頸短板、合理規劃容量配比降低成本、根據壓測模型動態調配容量配比。但是線下壓測(沒有參考價值)、單機類型壓測+估算模型(無法識別全局瓶頸)、單鏈路壓測(無法識別真實業務場景下多鏈路衝擊下的短板)都顯然遠遠無法滿足需求,為了讓最真實的情況能夠提前預演,我們最終採用了這套模擬全球幾億用戶一起購物狂歡的方案-全鏈路壓測平台。而它從2013年到2016年的4個年頭裡已經發展到3.0版本。
下圖是這幾年主要完成的工作。
其中一些關鍵點做下說明:
關於業務改造
涉及業務點100多個,交易鏈路幾十條,相關研發同學幾百號人,只要是寫相關介面肯定需要改造,壓測設計的原則是業務系統的代碼儘可能的不做修改、通用的技術通過基礎設施和中間件來處理,比如壓測流量的標識怎麼在整個請求生命周期中一直傳遞下去、怎麼樣來對非法的請求做攔截處理。
關於數據構造
數據構造有兩個關鍵點:
1、由於參與雙11的買家、賣家、商品數量都非常龐大,需要構造同數量級的龐大業務數據;
2、同時業務數據的模型要儘可能貼近雙11當天0點的真實場景;
以上兩個關鍵點必須同時做到,否則全鏈路壓測結果的誤差會比較大,參考的價值將會大打折扣。我們為此專門搭建了全鏈路壓測的數據構造平台,構建業務模型,同時完成海量業務數據的自動化準備。
其實關於數據的模型應該是怎麼樣的問題。我們藉助了BI工具結合預測演算法對數據進行篩選建模,並結合每一年雙11的業務玩法進行修訂,產出一份最終的業務模型。業務模型的因子牽涉幾百個業務指標,包含買家數、買家類型、賣家數、賣家類型、優惠種類、優惠比例、購物車商品數、bc比例、無線pc比例,業務的量級等等。
關於數據隔離
比如直接把測試數據和正常數據寫到一起,通過特殊的標識能夠區分開,出於對線上的數據的安全性和完整性不能被破壞的考量,這個方案很快就被放棄了。然後有人提出了另一個方案,在所有寫數據的地方做mock,並不真的寫進去,這個方案不會對線上產生污染,但也還是放棄了:mock對壓測結果的準確性會產生干擾,而我們需要一個最貼近實際行為的壓測結果。經過反覆的討論,最終找到了一個既不污染線上、又能保障壓測結果準確性的方案:所有寫數據的地方對壓測流量進行識別,判斷一旦是壓測流量的寫,就寫到隔離的位置,包括存儲、緩存、搜索引擎等等。
關於流量構造
雙11當天0點的峰值流量是平時高峰的幾百倍,每秒鐘幾百萬次的請求如何構造同樣成了壓測的大難題。瀏覽器引擎或者一些開源壓測工具來模擬用戶請求的做法經過實際測試,要製作出雙11規模的用戶流量需要準備幾十萬台伺服器的規模,成本是無法接受的,並且在集群控制、請求定製上存在不少限制。既然沒有現成的工具可以使用,只好選擇自己研發一套全鏈路壓測的流量平台。
而隨著集團業務需求越來越多,急需將全鏈路壓測朝著平台化推進和實施,做到壓測能力開放、業務方自主壓測,讓更多業務方能夠享受到全鏈路壓測的優勢和便利。平台化上線之後大幅提升了全鏈路壓測平台的服務能力,比如2015年大促備戰的3個月內,壓測平台總共受理近600多個壓測需求(比14年提升20倍),執行壓測任務3000多次(比14年提升30倍),最重要的,這也為阿里雲即將推出的性能測試PTS鉑金版做了很好的基礎建設。
生態化
2016年在三地五單元混合雲部署架構下,電商一半以上的資源都部署在雲上。如何能夠在最短的時間內完成一個單元的搭建和容量準備成為擺在我們面前的一道難題。「大促容量彈性交付產品」在年初的時候立項,旨在減少甚至釋放活動場景的容量交付中人工投入,將大促容量交付的運維能力沉澱到系統中,使全鏈路容量具備「自動化」調整的能力。我們又提出了大促自動化備戰的想法,將大促容量準備的各環節進行系統層面的打通,從業務因子埋點、監控體系、模型預測、壓測數據構造、壓測流量發送、壓測結果分析、壓測報表進行自動化的串聯,大幅縮減了我們在大促容量準備階段的人員投入和時間周期。圍繞全鏈路壓測的核心基礎設施,全鏈路壓測的周邊生態逐步建立起來,打通建站、容量、監控等配套技術體系。
所以,PTS鉑金版目前已經將異常強大的流量構造能力和簡易友好的數據輸入方式提供出來。阿里雲希望幫助企業騰出更多時間和成本去關注業務,而不再需要投入大量資源去研究壓測的引擎、改造並讓它適應業務特性,也不需要搭建龐大的壓測集群以支持業務的高並發度,甚至不需要專門的性能測試人員或者具備相當的測試專業知識的人員,以上這些會讓企業投入大量的人力成本、機器成本,性價比較低。PTS鉑金版提供了簡潔、高效、優質和高性價比的方案,它的優勢和特點是:
無限接近真實的流量:覆蓋到三四線城市的節點能真正模擬高並發和發起點分散的用戶行為,端到端之間的網路瓶頸也能暴露無遺;
超高並發能力:低成本構造千萬TPS級的壓測流量,多協議支持(HTTP、HTTPS、TCP、UDP 等);
壓測能力多維度動態支持:同時支持並發和TPS兩個維度設置,免除設置和換算的煩惱,壓測目標設置一步到位。壓測過程中還可以根據各種情況任意調整並發/TPS,靈活應對壓測場景下的多變環境;
使用零門檻:完全面向開發的交互設計,開發自測試,貼心的提供快捷壓測功能,1分鐘即可設置一個簡單壓測場景,快速熟悉產品功能;
複雜場景輕鬆應對:即使是電商交易類複雜場景,依舊可以方便的通過腳本拼裝,完全模擬用戶真實行為;
豐富的展現形式:壓測過程中重要指標實時展現,配合阿里雲互聯網中間件的業務實時監控ARMS、分散式應用服務EDAS,可提供更全面、細緻的性能指標,快速識別性能瓶頸;


※首次披露!拍立淘技術框架及核心演算法,日均UV超千萬
※中美人工智慧發展戰略的異同檢視:差距何在?如何超越?
※阿里電商架構演變之路
※聽阿里雲CDN安防技術專家金九講tengine+lua開發
※局部連接來減參,權值共享肩並肩(深度學習入門系列之十一)
TAG:雲棲社區 |
※IPTV、OTT大數據價值高峰論壇提前曝光
※NACTO推出開放式的地圖數據標準化平台
※勾正數據喻亮星:以數據為基礎,打造OTT+DVB+IPTV大屏生態圈
※PNAS:大數據方法研究HIV包膜蛋白藍圖 有望開發新型HIV疫苗
※大數據+AI賦能 十色谷欲掀社交APP新格局
※「使能數據 賦能營銷」賽諾貝斯CDP產品SmartOne正式發布
※基於SSL實現數據傳輸加密協議—HTTPS
※即刻向ISRCTN提交研究數據!
※水象雲SaaS正式發布 利用大數據實現高效風控
※匯桔網大數據怪獸級超高性能產品-「匯桔雲」正式發布
※INNOVATIVE BIORESEARCH推出令牌銷售,用以開發新的艾滋病治療研究與去中心化臨床數據
※IOTA的數據安全性與Tangle的數字藍海
※從「AI」出發,極光大數據的GMIC之旅
※基於PaaS技術的大數據云化平台實踐
※慧榮科技發布全球首款擁有企業級數據保護功能的PCIe NVMe單晶元 SSD存儲解決方案
※熱雲USERDESK與秒針達成戰略合作 探索泛娛樂大數據價值
※VVC、JPEG XS、MPEG-I,數據壓縮走向新紀元,為高解析度VR提供支持
※烽火FitData順利通過DCA大數據平台測試
※使用inferCNV來推斷CCLE轉錄組數據的拷貝數變異
※GCP經典問答:獲取高質量臨床試驗數據的核心秘訣