大、中型互聯網企業該如何進行高併發壓力測試

在直播、電商、遊戲等用戶密集型互聯網行業,訪問併發數通常是非常大的,所以一般會採用產品邏輯優化,倒計時延後請求等方式來緩解瞬時的大併發,如銀行系統繁忙提示使用其他支付方式,但這樣並不能迴避系統本身在壓力下潛藏的性能問題。那麼企業該如何正確發起高併發,如何知道該架構能支持多大的高併發呢?

 

這裏需要明確一些概念:併發用戶、在線用戶和註冊用戶以及彼此之間的換算方法(估算模型)。系統的最大併發用戶數根據註冊用戶數來獲得,換算方法一般是註冊總人數的5%-20%之間;系統的併發數根據在線人數來獲得,換算方法一般是在30%左右;在線用戶數理解爲正在使用系統的用戶數,而註冊用戶數是系統註冊的人數,這個人數靜態的。   

測試壓力估算時採用如下原則:  

1、 系統在線用戶數取系統總用戶數的20%;

2、 系統在線用戶併發數取在線用戶數的30%;

雲智慧壓測寶給某個直播用戶做了一次性能壓測服務,達到了將近10萬併發用戶的要求,如下圖所示:

 

壓測寶目前已經能夠滿足大、中型互聯網企業高併發壓力測試需求,隨着資源的不斷增加,其壓測能力還在迅速提升。

雲智慧壓測寶特點概覽

除了全球分佈式雲端壓測與應用性能管理產品透視寶深度融合進行問題診斷、支持大規模併發之外,壓測寶還有很多特點:

[1]天然適應移動互聯網

大多數互聯網應用的業務過程都是通過調用自身或者第三方API來實現的,那麼在業務上線之前,對API及其串接形成的業務過程進行壓力測試是必不可少的。壓測寶能夠對後端服務的API請求及其調用過程進行定義及測試,通過對API調用過程的正確性、可用性及響應時間在大規模壓力條件下以及分佈式地域環境中的質量來評估後端服務保障到位與否。

[2]支持Percentile分析

Percentile是統計學術語,如果將一組數據從小到大排序,並計算相應的累計百分位,則某一百分位所對應數據的值就稱爲這一百分位的百分位數,可表示爲:一組n個觀測值數值大小排列,如處於p%位置的值稱第p百分位數。

 

實際上在Load Runner中就採用了這樣的統計方法,因爲在大數據量條件下,數據的篩選對分析的準確性尤爲重要,壓測寶也使用了這種方法來對事務或者請求進行詳細的響應時間分析,如圖所示,分析事務響應時間時系統默認提供了99%、95%、90%、80%選項,用戶也可以自己定義百分位值。

[3]支持多協議類型的框架

壓測寶默認支持的協議類型爲HTTP/HTTPS,能夠滿足主流互聯網用戶的基本需求,但是某些金融和遊戲類用戶採用了特殊的Socket協議類型,此時如果需要支持的話,就需要在現有框架之上進行擴展,目前提供的框架機制如下圖所示:

 

壓測寶在整體框架設計上,包括整體的壓測點資源調度、數據回傳記統計分析、展現的邏輯使用的是同一套方案,只是在Agent數據採集與發送的時候用不同plugin來兼容不同socket協議,因爲每家客戶都會有自己的Socket協議封裝,這種方式確保了系統的整體可擴展性。

[4]測試數據支持順序和隨機

執行測試任務時,爲測試腳本準備的大量模擬數據,這些數據與腳本中的變量關聯,能夠在某個時段內產生儘量真實的測試結果。在壓測寶中可以方便得通過導入excel文件來創建測試數據,如下圖所示:

 

在壓測任務中指定腳本時可以爲該腳本綁定測試數據,同時可以指定測試數據的加載模式,包括順序與隨機。當測試數據條目數量大於併發用戶時選擇順序加載,確保用戶不重複,對某些不允許用戶重複登錄或者提交的場景很有效果。

 

[5]支持接口正確性判斷

除了需要對接口的響應時間和可用性進行判斷之外,還需要對事務或者接口的正確率進行驗證,這裏的正確率是指一段時間內,事務正確次數佔事務總次數的百分比,即事務正確次數/事務總次數。

l 事務正確:事務的所有請求都正確才爲正確。

l 請求正確:API接口斷言正確則請求正確。 

在大量併發的情況下,有時候系統會出現“髒數據、錯誤數據”的情況——雖然接口可用,但是其返回結果並不是預期的值,所以在壓測的時候有必要對接口返回結果進行檢測,如下圖所示,通過壓測寶腳本配置,可以很方便地進行斷言匹配設定與腳本驗證:

 

 

[6]按區域進行性能分析

分佈式雲端壓測的一個特點是基於雲端服務器在一段時間內發起大量併發,同時也體現了分佈式用戶對系統的真實訪問情況,通過按區域分析,能夠幫助用戶瞭解不同區域發起的用戶量以及每個區域的訪問性能情況。

 

雲智慧壓測服務模式

因爲壓測與後端性能分析分析的複雜性,推薦客戶使用雲智慧的壓測服務,通過“一站式”性能壓測服務,幫助企業評估應用性能容量,發現全鏈路性能瓶頸,從而保障產品交付滿足企業靈活多變的業務需求。

雲智慧的壓測服務包括:

1、 性能檢測:通過系統處理能力(TPS)、響應時間、併發用戶支持、穩定時間等性能指標判斷性能極限;

2、 性能診斷:針對壓測請求,對後端代碼、服務器、 數據庫和主機性能進行分析診斷,定位性能瓶頸;

3、 優化建議:針對應用架構、環境部署、代碼開發及實施策略提供優化建議;

4、 容量規劃:基於壓測數據和預測模型與業務發展趨勢,提供容量規劃建議。

雲智慧建立了完整的壓測服務體系,由性能測試專家組成服務團隊,依託壓力測試與性能管理平臺爲用戶提供標準化壓測服務,實現產品迭代全生命週期的性能持續改進:

1、 需求溝通:進行需求調研和需求確認並完成《壓測需求表》;

2、 方案制定:確定壓測場景和壓測目標,溝通確認《壓測方案說明書》;

3、 部署實施:根據壓測方案准備壓測場景與資源,定製壓測任務並在指定時間實施壓測;

4、 分析報告:實時跟蹤壓測進程,並對壓測結果進行分析,結合性能管理產品深入解析應用後端性能,完成《性能分析總結報告》並提出問題處理建議;

雲智慧的服務理念是與用戶一起成長,在過幾年裏,雲智慧監控寶、透視寶伴隨着用戶在不斷進步,相信壓測寶的產品和服務也能爲更多的小夥伴提高效率節約成本,幫助大家加速發展! 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章