小程式是移動互連網時代重要的流量入口。為了避免在使用過程中出現因為系統效能瓶頸而影響使用者體驗的問題,小程式在新功能上線前需要做好壓力測試,讓系統在面對流量突增時也能保持穩定。
常見小程式壓測情境
在新系統或功能上線前瞭解其效能狀況,確保上線後保持平穩運行。
在對系統進行最佳化或者擴容後,通過壓測瞭解系統調優前後的效能差異。
在預測會產生大流量前(比如舉辦活動)對系統效能進行評估,以避免流量突增造成系統崩潰,影響使用者體驗。
使用Performance Testing Service進行小程式壓測的優勢
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等,請參見Use cookies to simulate logons。
壓力模式配置的更多資訊,請參見壓力模式與量級配置。
單擊儲存去壓測,在溫馨提示頁面,選擇立即執行並勾選確認本次壓測已獲得准許並遵守當地法律,然後單擊啟動壓測。
方式二:手動記錄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中粘貼已複製的出參參數。

在壓力模式配置地區,根據實際需要,填寫壓測虛擬使用者數和時間長度等資訊。
單擊儲存去壓測,在溫馨提示頁面,選擇立即執行並勾選確認本次壓測已獲得准許並遵守當地法律,然後單擊啟動壓測。