小程序是移動互聯網時代重要的流量入口。為了避免在使用過程中出現因為系統性能瓶頸而影響用戶體驗的問題,小程序在新功能上線前需要做好壓力測試,讓系統在面對流量突增時也能保持穩定。
常見小程序壓測場景
在新系統或功能上線前了解其性能狀況,確保上線后保持平穩運行。
在對系統進行優化或者擴容后,通過壓測了解系統調優前后的性能差異。
在預測會產生大流量前(比如舉辦活動)對系統性能進行評估,以避免流量突增造成系統崩潰,影響用戶體驗。
使用性能測試PTS進行小程序壓測的優勢
PTS自研壓測引擎,支持吞吐量模式,準確模擬流量漏斗模型。
支持全國地域發起壓測流量,模擬真實用戶分布。
提供問題診斷工具,展示方法堆棧粒度的報錯信息,精準定位性能問題。
支持客戶端代理錄制,大大降低構建壓測腳本的成本。
開始進行小程序壓測
不同于自建網站壓測,在進行小程序壓測時,通常需要獲得小程序所在的平臺(如支付寶、微信)的Token信息,并在有效期內使用,才能正常對小程序的業務接口進行壓測。推薦您通過以下兩種方式獲取平臺授權的Token:
(推薦)編寫接口自動獲取Token,并在有效期內刷新該Token。壓測中,您使用PTS對該接口進行壓測,可以自動獲得Token。
壓測前提前記錄平臺Token,并以參數形式傳入小程序業務接口中。但是請注意壓測時長不能超過Token的有效期,避免因Token失效導致無法進行業務壓測。
本文以微信平臺為例,介紹如何壓測微信平臺上的小程序。
方式一:編寫接口獲取Token
假設需要壓測微信平臺上小程序的活動頁面,您可以編寫接口去獲取微信的Token信息,將該接口編排進壓測場景中,并提取出參,傳遞給后面實際的業務接口。
在本地編寫接口,以便能夠在壓測過程中持續地獲取微信的Token信息。
登錄PTS控制臺,選擇 ,然后單擊PTS壓測。
填寫場景名,例如
myAPP
,然后在場景配置頁簽下,單擊壓測API名稱一欄右側的箭頭展開更多詳細設置,填寫第一個壓測API,即自定義的獲取微信Token的接口。選擇出參定義頁簽,配置示例如下:
出參名:access_token
來源:Body:JSON
解析表達式:access_token
單擊添加壓測API,填寫第二個API,即小程序活動頁面接口,請求方式選擇為POST。
單擊頁面底部的參數列表,在彈出的對話框中單擊出參名的復制圖標,復制該出參參數。
假設需要在API的Body中傳入已復制的出參access_token,單擊API的Body定義頁簽。在Key中填寫自定義的名稱(例如input_token),在Value中粘貼已復制的出參參數。
在壓力模式配置區域,根據實際需要,填寫壓測虛擬用戶數和時長等信息。
說明若需要獲取已經登錄的微信用戶信息供多個串聯鏈路使用,如OpenID或Token等,請參見使用Cookie模擬登錄場景。
壓力模式配置的更多信息,請參見壓力模式與量級配置。
單擊保存去壓測,在溫馨提示頁面,選擇立即執行并勾選確認本次壓測已獲得準許并遵守當地法律,然后單擊啟動壓測。
方式二:手動記錄Token并寫入業務接口
假設需要壓測微信平臺上小程序的活動頁面。那么,您可以在壓測前提前批量獲取到平臺Token,或者在本地準備些數據(如果業務允許),放在數據文件中,壓測時作為全局參數使用。
一般平臺Token都存在有效期限制,需要定期刷新才能使用。所以采用該方法請注意確認Token有效期,超過該期限后,壓測就無法正常進行。
新建一個
token.csv
文件(用Excel編輯之后另存為.csv格式,或者用Apache的commons-csv來生成),將Token信息寫在一列中,示例如下:token T7MeDnBIMKRJdgUB8RNQixyhUPJPaJEG cqKscgeNWFPkkkaR4dBfcD4A2pD1CYFK eh3lbjmsjd9jh65xSwvBWvDtmky25CK9
說明您可以通過線上環境批量獲取平臺Token,或者如果業務允許的情況下可在本地構造Token數據。
登錄PTS控制臺,選擇 ,然后單擊PTS壓測。
填寫場景名,例如
myAPP
,然后在場景配置頁簽下,填寫小程序活動頁面接口。單擊數據源管理,并在文件數據源頁簽單擊+上傳文件,上傳本地準備的
token.csv
文件。上傳成功后,選中首行作為參數名,選中后無需手動定義參數名,PTS讀取參數文件時將跳過首行的數據。在壓測API名稱一欄右側,將鼠標懸浮于圖標處,然后選擇添加數據配置。
單擊數據配置一欄右側的箭頭圖標展開更多詳細設置,在數據源參數設置頁簽中選擇參數名。單擊復制圖標,復制該參數。
假設需要在API的Body中傳入已復制參數,單擊活動頁面API的Body定義頁簽。在Key中填寫自定義的名稱(例如token),在Value中粘貼已復制的出參參數。
在壓力模式配置區域,根據實際需要,填寫壓測虛擬用戶數和時長等信息。
單擊保存去壓測,在溫馨提示頁面,選擇立即執行并勾選確認本次壓測已獲得準許并遵守當地法律,然后單擊啟動壓測。