1. <dd id="erndk"></dd>
                1. 玩轉小程序壓測

                  互聯網 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

                  贊(0)
                  關注微信小程序
                  程序員編程王-隨時隨地學編程

                  掃描二維碼或查找【程序員編程王】

                  可以隨時隨地學編程啦!

                  技術文章導航 更多>
                  掃一掃關注最新編程教程
                  国产在线拍揄自揄视频菠萝

                        1. <dd id="erndk"></dd>