天天看點

自動化壓測架構設計

作者:閃念基因

【壓測必要性】

定期疊代業務子產品容量資料及時發現問題,為配置優化及成本管理提供資料支撐

【早期壓測痛點】

1、壓測容量不準:基于cvm施壓&被壓容易遇到端口數,檔案描述符,帶寬等限制導緻tps上不去等問題

2、壓測耗時長:依賴多人協同效率極低(sre切換業務鏡像,qa施壓,開發釋出代碼,dba确認權限)

3、成本浪費:cvm大部分時間資源閑置

【自動化壓測靈感】

1、引入阿裡雲pts解決施壓環境受限問題

2、引入内網vpc k8s壓測叢集,動态調整pod數量解決檔案描述符及端口數不足問題

3、結合上線釋出系統+gitlab,解決cicd代碼釋出問題

4、調用cloud api接口随時調整node配置及開關機,解決成本浪費問題

【自動化壓測架構圖】核心:阿裡雲PTS

自動化壓測架構設計
自動化壓測架構設計

【阿裡雲PTS簡介】

一.什麼是PTS?

性能測試PTS(Performance Testing Service)是一款性能測試工具。支援按需發起壓測任務,可提供百萬并發、千萬TPS流量發起能力,100%相容JMeter。提供的場景編排、API調試、流量定制、流量錄制等功能,可快速建立業務壓測腳本,精準模拟不同量級使用者通路業務系統,幫助業務快速提升系統性能和穩定性。

自動化壓測架構設計

二.操作方法

操作步驟也是十分簡單,大緻分為4個步驟:

1.配置壓測場景

自動化壓測架構設計

要發起一次性能壓測,首先需要建立一個壓測場景。一個壓測場景包含一個或多個并行的業務(即串聯鍊路),每個業務包含一個或多個串行的請求(即API)。

  • API是場景壓測中的必需元素,用來定義串聯鍊路中每個階段URL的具體資訊。API是由使用者行為觸發的一條端上請求。例如,電商網站的登入、查詢商品詳情、送出訂單等,分别對應一次使用者行為中的多個請求API。
  • 串聯鍊路是一組壓測API的有序集合(類似于事務),具有業務含義。

2.配置施壓環境

接下來是需要配置壓力來源等配置,指定施壓來源是哪裡的,PTS支援公網和VPC内網兩種壓力來源。一個是國内公網來源,一個是阿裡雲的内網,我們可以根據需求來配置

還有IP,host,壓測時長等等,這些都可以在【施壓環境】進行配置

3.啟動壓測

接下來我們就可以啟動壓測,

  1. 登入PTS控制台,在左側導航欄選擇性能測試 > 建立場景,然後單擊PTS壓測。
  2. 在建立PTS場景頁面完成場景配置、施壓配置和進階設定。
  3. 單擊儲存去壓測,選擇執行周期并單擊确定。
  • 資料資訊和配置資訊區域(圖示①):場景實時狀态區域,顯示目前場景的壓測狀态,本次壓測使用的VUM計量,場景整體發送和接受的封包大小。
  • 單鍊路(API)實時狀态區域(圖示②):顯示單個API目前的RT、并發等。
  • 單個調速(圖示③):單個鍊路的調速按鈕,每次調速實時生效。
  • 批量調速(圖示④):全場景次元批量調速的按鈕和串聯鍊路次元調速的按鈕,每次調速實時生效。
  • 檢視圖表(圖示⑤):單個鍊路的監控圖示,單擊此圖示,會顯示目前鍊路的請求、響應時間和使用并發數等實時資訊。

4.檢視壓測報告

PTS壓測結束之後,系統會自動擷取壓測過程中的資料,例如壓測場景名額、業務詳情資料、監控詳情資料和API采樣日志等,形成壓測報告,供您檢視和導出。本文介紹壓測報告的名額資訊以及如何對比壓測報告。

自動化壓測架構設計

三.注意事項

壓測前必須在場景中确認好api是否通(确認host是否生效,可以讓sre确認伺服器是否有請求日志)

作者:劉文玮

來源-微信公衆号:三七互娛技術團隊

出處:https://mp.weixin.qq.com/s/mdzrz3SpWveM8ne2Q3O1Cw

繼續閱讀