玩轉小程序壓測
互聯網 2022/4/29 12:12:48
作者:拂衣
小程序也是需要壓測的
小程序是移動互聯網時代非常重要的流量入口。為了避免因系統性能瓶頸導致用戶在使用過程中出現白屏、異常報錯等問題影響用戶體驗,小程序在新功能上線前需要做好壓力測試,評估出系統的承載能力,并以壓測結果配置限流。讓系統面對流量突增,也能穩如泰山。
常見的小程序中需要做壓測的 3 種場景
- 新開發的系統或功能上線前需要了解其性能水位情況。
- 對系統進行技術調優、系統擴容前后通過壓測進行性能比對。
- 參加小程序平臺活動前對系統進行性能評估。
小程序的壓測方案如何設計
根據壓測場景不同,壓測方案可簡單可分為:單接口壓測、混合壓測、性能調優壓測、長穩壓測等。請根據需要選擇不同的方案。
- 單接口壓測:針對核心業務場景涉及的接口進行單獨壓測,分析單接口鏈路的瓶頸。
- 混合壓測:針對業務場景進行混合壓測,評估系統綜合并發處理能力。
- 性能調優壓測:測試應用系統參數、JVM 參數、線程池參數等對系統性能的影響,并得出最佳實踐的參數設置。
- 長穩壓測:長期維持一個相對較高的并發量進行壓力測試,觀察系統反應情況。通過 24H * N 天的長穩壓測,保證系統的穩定性,防止內存溢出、緩慢泄露,線程池、資源獲取時的偶然競爭造成死鎖、排隊等現象;長穩壓測的時間長度可根據具體情況適當減少,比如按照 JVM GC、Full GC 發生次數決定穩定性壓測時間等。
使用 PTS 對小程序進行壓測的最佳實踐
不同于自建網站壓測,針對小程序壓測時,通常需要獲得小程序所在的平臺(如支付寶、微信)的 Token 信息,并在有效期內使用才能正常壓測小程序業務接口。
推薦您通過以下兩種方式獲取平臺授權的 Token:
- (推薦)編寫接口自動獲取 Token,并在有效期內刷新該 Token。壓測中,您通過 PTS 壓測該接口,可以自動獲得 Token。
- 壓測前提前記錄平臺 Token,并以參數形式傳入小程序業務接口中。但是請注意壓測時長不能超過 Token 的有效期,避免因 Token 失效導致無法進行業務壓測。
方式一:編寫接口獲取 Token
假設需要壓測微信平臺上小程序的活動頁面。您可以編寫接口去獲取微信的 Token 信息,將該接口編排進壓測場景中,并提取出參,傳遞給后面實際的業務接口。
具體操作步驟如下:
1. 在本地編寫接口,以便能夠在壓測過程中持續地獲取微信的 Token 信息。
2. 登錄 PTS 控制臺[1],在左側導航欄選擇創建場景 > 創建 PTS 場景。
3. 填寫場景名,例如“myAPP”。
4. 在場景配置頁簽下,單擊壓測 API 名稱一欄右側的箭頭展開更多詳細設置,填寫第一個壓測 API,即自定義的獲取微信 Token 的接口。
5. 選擇出參定義頁簽,配置示例如下:
- 出參名:access_token
- 來源:Body:JSON
- 解析表達式:access_token
6. 單擊+添加壓測 API,填寫第二個 API,即小程序活動頁面接口,請求方式選擇為 POST。小程序活動頁面接口即小程序的 URL。
7. 單擊創建 PTS 場景頁面下方的參數列表,在彈出的對話框中單擊出參名的復制圖標,復制該出參參數。 8. 假設需要在 API 的 Body 中傳入已復制的出參 access_token,單擊 API 的 Body 定義頁簽。在 Key 中填寫自定義的名稱(例如 input_token),在 Value 中粘貼已復制的出參參數。 9. 單擊施壓配置頁簽,根據實際需要,填寫壓測并發數和時長等信息,示例如下圖所示。 說明- 若需要獲取已經登錄的微信用戶信息供多個串聯鏈路使用,如 OpenID 或 Token 等,請參見使用 Cookie 模擬登錄場景[2]。
- 若獲取的信息側有限流信息,如同一用戶的頻繁登錄登出限制、接口調用限制等,可準備一個串聯鏈路低并發、低 RPS 的登錄信息。
- 施壓配置的更多信息,請參見如何進行施壓配置[3]。
10. 單擊創建 PTS 場景頁面左下方的保存去壓測,即可發起壓測。
方式二:手動記錄 Token 并寫入業務接口
假設需要壓測微信平臺上小程序的活動頁面。那么,您可以在壓測前提前批量獲取到平臺 Token,或者在本地準備些數據(如果業務允許),放在數據文件中,壓測時作為全局參數使用。
注意 一般平臺 Token 都存在有效期限制,需要定期刷新才能使用。所以采用該方法請注意確認 Token 有效期,超過該期限后,壓測就無法正常進行。
具體操作步驟如下:
1.新建一個 .csv 文件(用 Excel 編輯之后另存為 .csv 格式,或者用 Apache 的 commons-csv 來生成),將 Token 信息寫在一列中,示例如下:
說明您可以通過線上環境批量獲取平臺 Token,或者如果業務允許的情況下可在本地構造 Token 數據。
2. 登錄 PTS 控制臺[1],在左側導航欄單擊創建場景 > 創建 PTS 場景。
3. 在創建 PTS 場景頁面,填寫場景名,例如“myAPP”。
4. 在場景配置頁簽下,填寫小程序活動頁面接口。
5. 單擊創建 PTS 場景頁面下方的數據源管理,單擊+上傳文件,上傳本地準備的 .csv 文件。上傳完畢后,填寫參數名,并單擊確定。
6. 單擊+添加壓測 API 右側的下拉箭頭,選擇添加數據配置。單擊數據配置一欄右側的箭頭圖標展開更多詳細設置,在文件參數設置頁簽中選擇參數名。單擊復制圖標,復制該參數。

8. 假設需要在 API 的 Body 中傳入已復制參數,單擊活動頁面 API 的 Body 定義頁簽。在 Key 中填寫自定義的名稱(例如 token),在 Value 中粘貼已復制的出參參數。
9. 單擊施壓配置頁簽,根據實際需要,填寫壓測并發數和時長等信息,示例如下圖所示。 10. 單擊創建 PTS 場景頁面左下方的保存去壓測,即可發起壓測。使用 PTS 做小程序壓測的優勢
- PTS 完全自研的壓測引擎,支持吞吐量模式,準確模擬流量漏斗模型
- 支持全國地域發起壓測流量,模擬真實用戶分布
- 提供問題診斷工具,展示方法堆棧粒度的報錯信息,精準定位性能問題
- 支持客戶端代理錄制,大大降低構建壓測腳本的成本
原文鏈接
本文為阿里云原創內容,未經允許不得轉載。
?
關于找一找教程網
本站文章僅代表作者觀點,不代表本站立場,所有文章非營利性免費分享。
本站提供了軟件編程、網站開發技術、服務器運維、人工智能等等IT技術文章,希望廣大程序員努力學習,讓我們用科技改變世界。
[玩轉小程序壓測]http://www.yachtsalesaustralia.com/tech/detail-318002.html
- 2022-05-02微信小程序青提wifi開發技術
- 2022-05-02青提wifi碼小程序系統解析
- 2022-04-30個人微信小程序開發入門教程:下載微信開發工具
- 2022-04-29微信小程序頁面跳轉如何傳遞對象參數
- 2022-04-28關于微信小程序控制臺的warn提示信息隱藏
- 2022-04-282022-04-28 環信(uniapp版)聊天小程序 部署到服務器,用戶通過微信小程序訪問時, android顯示空白屏,ios正常顯示。
- 2022-04-27微信小程序測試之緩存問題
- 2022-04-27小程序頁面的上拉加載和下拉加載
- 2022-04-26微信小程序訂單頁面
- 2022-04-26小程序頁面嵌入H5