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

雲智慧產品總監 陸興海數據庫

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

1
這裏須要明確一些概念:併發用戶、在線用戶和註冊用戶以及彼此之間的換算方法(估算模型)。系統的最大併發用戶數根據註冊用戶數來得到,換算方法通常是註冊總人數的5%-20%之間;系統的併發數根據在線人數來得到,換算方法通常是在30%左右;在線用戶數理解爲正在使用系統的用戶數,而註冊用戶數是系統註冊的人數,這我的數靜態的。   
測試壓力估算時採用以下原則:  
一、系統在線用戶數取系統總用戶數的20%;
二、系統在線用戶併發數取在線用戶數的30%;
雲智慧壓測寶給某個直播用戶作了一次性能壓測服務,達到了將近10萬併發用戶的要求,以下圖所示:服務器

2
壓測寶目前已經可以知足大、中型互聯網企業高併發壓力測試需求,隨着資源的不斷增長,其壓測能力還在迅速提高。
雲智慧壓測寶特色概覽
除了全球分佈式雲端壓測與應用性能管理產品透視寶深度融合進行問題診斷、支持大規模併發以外,壓測寶還有不少特色:
[1]自然適應移動互聯網
大多數互聯網應用的業務過程都是經過調用自身或者第三方API來實現的,那麼在業務上線以前,對API及其串接造成的業務過程進行壓力測試是必不可少的。壓測寶可以對後端服務的API請求及其調用過程進行定義及測試,經過對API調用過程的正確性、可用性及響應時間在大規模壓力條件下以及分佈式地域環境中的質量來評估後端服務保障到位與否。
[2]支持Percentile分析
Percentile是統計學術語,若是將一組數據從小到大排序,並計算相應的累計百分位,則某一百分位所對應數據的值就稱爲這一百分位的百分位數,可表示爲:一組n個觀測值按數值大小排列,如處於p%位置的值稱第p百分位數。架構

3
實際上在Load Runner中就採用了這樣的統計方法,由於在大數據量條件下,數據的篩選對分析的準確性尤其重要,壓測寶也使用了這種方法來對事務或者請求進行詳細的響應時間分析,如圖所示,分析事務響應時間時系統默認提供了99%、95%、90%、80%選項,用戶也能夠本身定義百分位值。
[3]支持多協議類型的框架
壓測寶默認支持的協議類型爲HTTP/HTTPS,可以知足主流互聯網用戶的基本需求,可是某些金融和遊戲類用戶採用了特殊的Socket協議類型,此時若是須要支持的話,就須要在現有框架之上進行擴展,目前提供的框架機制以下圖所示:併發

4
壓測寶在總體框架設計上,包括總體的壓測點資源調度、數據回傳記統計分析、展示的邏輯使用的是同一套方案,只是在Agent數據採集與發送的時候用不一樣plugin來兼容不一樣socket協議,由於每家客戶都會有本身的Socket協議封裝,這種方式確保了系統的總體可擴展性。
[4]測試數據支持順序和隨機
執行測試任務時,爲測試腳本準備的大量模擬數據,這些數據與腳本中的變量關聯,可以在某個時段內產生儘可能真實的測試結果。在壓測寶中能夠方便得經過導入excel文件來建立測試數據,以下圖所示:框架

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

6
[5]支持接口正確性判斷
除了須要對接口的響應時間和可用性進行判斷以外,還須要對事務或者接口的正確率進行驗證,這裏的正確率是指一段時間內,事務正確次數佔事務總次數的百分比,即事務正確次數/事務總次數。
事務正確:事務的全部請求都正確才爲正確。
請求正確:API接口斷言正確則請求正確。 
在大量併發的狀況下,有時候系統會出現「髒數據、錯誤數據」的狀況——雖然接口可用,可是其返回結果並非預期的值,因此在壓測的時候有必要對接口返回結果進行檢測,以下圖所示,經過壓測寶腳本配置,能夠很方便地進行斷言匹配設定與腳本驗證:分佈式

7

8
[6]按區域進行性能分析
分佈式雲端壓測的一個特色是基於雲端服務器在一段時間內發起大量併發,同時也體現了分佈式用戶對系統的真實訪問狀況,經過按區域分析,可以幫助用戶瞭解不一樣區域發起的用戶量以及每一個區域的訪問性能狀況。高併發

9
雲智慧壓測服務模式
由於壓測與後端性能分析分析的複雜性,推薦客戶使用雲智慧的壓測服務,經過「一站式」性能壓測服務,幫助企業評估應用性能容量,發現全鏈路性能瓶頸,從而保障產品交付知足企業靈活多變的業務需求。
雲智慧的壓測服務包括:
一、性能檢測:經過系統處理能力(TPS)、響應時間、併發用戶支持、穩定時間等性能指標判斷性能極限;
二、性能診斷:針對壓測請求,對後端代碼、服務器、 數據庫和主機性能進行分析診斷,定位性能瓶頸;
三、優化建議:針對應用架構、環境部署、代碼開發及實施策略提供優化建議;
四、容量規劃:基於壓測數據和預測模型與業務發展趨勢,提供容量規劃建議。
雲智慧創建了完整的壓測服務體系,由性能測試專家組成服務團隊,依託壓力測試與性能管理平臺爲用戶提供標準化壓測服務,實現產品迭代全生命週期的性能持續改進:
一、需求溝通:進行需求調研和需求確認並完成《壓測需求表》;
二、方案制定:肯定壓測場景和壓測目標,溝通確認《壓測方案說明書》;
三、部署實施:根據壓測方案准備壓測場景與資源,定製壓測任務並在指定時間實施壓測;
四、分析報告:實時跟蹤壓測進程,並對壓測結果進行分析,結合性能管理產品深刻解析應用後端性能,完成《性能分析總結報告》並提出問題處理建議;
雲智慧的服務理念是與用戶一塊兒成長,在過幾年裏,雲智慧監控寶、透視寶伴隨着用戶在不斷進步,相信壓測寶的產品和服務也能爲更多的小夥伴提升效率節約成本,幫助你們加速發展!性能

相關文章
相關標籤/搜索