1. 程式人生 > 其它 >全球地域壓測,即壓即用,大促壓測利器來了~

全球地域壓測,即壓即用,大促壓測利器來了~

壓測時,壓力流量來源是一個很容易被忽略的因素,要保證壓測結果真實可信,就需要按照真實使用者的地域分佈來準備施壓機。阿里雲 PTS 提供了流量地域定製功能,即壓即用,支援全球 22 個 Region,快來體驗吧!

作者:拂衣

引言

“壓測指令碼在我壓測環境上跑的好好的,成功率、RT 都很正常,放到本地跑怎麼表現就不一樣了?”

大家壓測時是否都遇到過上述問題?

除了老生常談的硬體配置原因,流量分佈因素往往容易被忽略。

為什麼要模擬真實使用者流量

壓測是為了模擬一定量的真實使用者對系統進行訪問。真實的使用者量可以通過設定併發執行緒數(虛擬使用者數)來模擬;使用者的來源分佈,具體說是流量分佈,也是重要的模擬條件。

輔助全域性容量規劃

使用者量較大的應用,一般會採用異地多活的部署方式。出於成本考慮,各中心部署規格不一定相同,當地使用者越多,中心例項數越多,規格越高。大促壓測就是要按照真實使用者分佈比例,來模擬流量。測試出哪些中心容量水位過高,會造成當地使用者響應延遲甚至服務崩潰;哪些中心容量水位又過低,可以適當降級,將多餘的例項額度合理分配出去。實現從全域性層面規劃容量,在撐住大促流量的同時,也合理控制成本。

測試出真實相映延遲

資料表明,對於電商業務核心介面,響應時間每增加 100ms,營收額對應下降 1%。如果施壓機和伺服器在同一機房,測試出的請求響應時長(RT)會比真實情況要低,因為使用者是全國分佈的。對響應延遲誤判低出的零點幾秒,就可能會造成對大促成交額的錯誤預期。

通過下圖可以直觀的看出問題:

如何模擬真實流量

傳統方案

大部分業務的使用者並不是按地域均分的,相反,往往很不均勻。要模擬真實流量分佈,施壓機需要在各地分散部署,並且支援按地域、按量分配,在壓測時,還要支援實時的統一排程。如果施壓機都分佈在一個 Region,甚至是一個可用區內,那是無法模擬出來自全球使用者請求的。

這樣就需要在國內和海外部署大量的施壓機,如果壓測頻率並不很高,那機器的閒置成本可想而知。而按地域、按量分配的排程系統,也需要一定的維護成本。

阿里雲 PTS 方案

使用阿里雲效能測試服務(PTS)壓測時,開啟流量地域定製功能,即可指定施壓機的地域分佈,目前支援全球 22 個 Region 的地域定製。阿里雲 PTS 作為大促壓測重武器,“威力”不減,上手更輕量化。

支援地域見表格:

無論選用哪種方案,最終都要達到施壓機地域分佈和使用者分佈一致。

操作指南

1、建立一個壓測場景,參考 PTS 指導文件(具體請見文末相關連結);

2、在施壓配置中,開啟流量地域配置,按業務需求分配流量比例,右側可以看到流量分佈的餅圖:

3、開始壓測,在壓測概覽頁,可以檢視流量地域分佈:

總結

壓測時,壓力流量來源是一個很容易被忽略的因素,要保證壓測結果真實可信,就需要按照真實使用者的地域分佈來準備施壓機。阿里雲 PTS 提供了流量地域定製功能,即壓即用,支援全球 22 個 Region

,9.9¥體驗版資源包即可使用。

相關連結

1)阿里雲PTS:

https://pts.console.aliyun.com/#/overviewpage

2)開通PTS體驗版資源包

https://common-buy.aliyun.com/?commodityCode=ptsbag#/buy

3)PTS 指導文件​https://help.aliyun.com/document_detail/90887.html