全部產品
Search
文件中心

Performance Testing Service:線上教育壓測樣本

更新時間:Feb 08, 2025

本文以線上教育的典型業務情境為例,為您介紹如何在PTS中編排壓測情境並發起壓測。

情境說明

某線上教育網站需要壓測選課相關網頁。根據商務邏輯,選課流程劃分為三步,每一步的壓測需求如下:

  1. 登入線上教育系統

    • 需要構造使用者的登入資訊,如使用者名稱和密碼。

    • 使用者的登入資訊(即Cookie)需要傳遞給後面兩個請求查看課程列表提交選課

  2. 查看課程列表

    課程ID傳遞給提交選課請求。

  3. 提交選課

    • 使用上一個請求中的課程ID,構造提交選課的請求。

    • 判斷提交選課是否成功。

基本壓測情境設定如下所示。

基本情境配置

前提條件

  • 開通PTS服務

  • 準備一個CSV格式的參數檔案,格式如下。關於參數檔案的更多要求,請參見參數檔案規格

    username,password
    user1,Password1
    user2,Password2
    user3,Password3
    

步驟一:配置壓測情境

  1. 登入PTS控制台,選擇效能測試 > 建立情境,然後單擊PTS壓測

  2. 添加參數檔案到資料來源

    1. 單擊資料來源管理,並在檔案資料來源頁簽中單擊+ 上傳檔案,選擇本地參數檔案並上傳。

    2. 選中首行作為參數名,選中後無需手動定義參數名,PTS讀取參數檔案時將跳過首行的資料。如果參數檔案第一行不是參數名,則必鬚根據業務情境定義每列資料的參數名。image

  3. 添加資料配置節點

    1. 情境配置頁簽中添加壓測API,然後單擊添加指令右側的下拉式箭頭,選擇資料配置

    2. 資料來源參數設定頁簽下,選擇設定好的參數名。

      說明
      • 選中資料輪詢一次能夠保證在使用資料檔案組裝請求時,每行只用到一次,避免重複使用。當資料輪詢一次用盡,不論設定的壓測量級是多少,該壓測情境將停止產生新的壓測請求。

      • 若不選中資料輪詢一次,匯入的參數會在壓測中迴圈使用。

      • 資料輪詢一次基準列均只能指定一個參數,設定輪詢一次之後基準列無法設定。

      image

  4. 壓測情境編排

    1. 配置登入介面

      壓測URL:輸入您的待壓URL,本樣本使用http://web.example.com/login

      請求方式:選擇POST

      Body定義Content-Type類型選擇x-www-form-urlencoded,然後單擊編輯地區右上方的文本編輯,在文本編輯框中輸入{"username":"${username}","password":"${password}"}

      image

      說明

      當前請求的Cookie資訊(即使用者登入資訊),將自動共用給該壓測情境的其他API,無需設定。

    2. 配置查看課程列表介面

      單擊添加壓測API並選擇HTTP,添加一個新的API節點。並配置基本請求資訊。

      • 壓測URL:輸入您的待壓URL,本樣本使用http://web.example.com/mocks/online/list

      • 請求方式:選擇POST

      為了將某個課程ID傳遞給下一個請求,需要提取當前API響應(Response)中的課程ID,作為出參。選擇出參定義頁簽,填寫以下資訊。

      image

      • 出參名:填寫自訂的參數名稱。

      • 來源:選擇Body的解析格式,如JSON。

      • 解析運算式:根據Response詳情填寫解析運算式。

        假設,要提取第二個課程ID,則根據以下Response Body樣本,解析運算式為:schedule_list[1].ID

        {
        "schedule_list": [
        {
        "Name": "math",
        "ID": "001"
        },
        {
        "Name": "english",
        "ID": "002"
        },
        {
        "Name": "science",
        "ID": "003"
        }
        ]
        }                                
        說明

        出參的解析運算式如何定義,是否正確,可以在調試功能裡使用運算式調試的功能,正確之後再同步過來即可,具體操作步驟請參見調試情境

    3. 配置提交選課介面

      單擊添加壓測API並選擇HTTP,添加一個新的API節點。並配置基本請求資訊。

      • 壓測URL:輸入您的待壓URL,本樣本使用http://web.example.com/mocks/online/submit

      • 請求方式:選擇POST

      選擇Body定義頁簽,在Body中使用前一個API匯出的課程ID。

      設定body

      • Content-Type:選擇x-www-form-urlencoded格式。

      • Key:填寫自訂的Key,例如ID_from_last_api

      • Value:單擊頁面左下角的參數列表,查看業務會話參數(如“ID”),單擊複製表徵圖。在Value框中粘貼即可。

      選擇出參定義頁簽,並填寫以下資訊。

      設定出參2

      • 出參名:填寫自訂的參數名稱,例如result

      • 來源:選擇Body的解析格式,例如Body:TEXT

        說明

        來源要選擇Body的解析格式為TEXT,同樣地,您也可以在情境調試中使用運算式調試的功能調試您的解析運算式。

      • 解析運算式:根據Response詳情填寫解析運算式。樣本中的Response Body為result:success,則解析運算式為result:(.+)

      檢查點(斷言)頁簽,為該API設定檢查點,可判斷提交選課是否成功。

      設定檢查點

      • 檢查點類型:選擇出參

      • 檢查對象:選擇result

      • 檢查條件:選擇等於

      • 檢查內容:設定為success

步驟二:壓力模式配置

基本情境構建完成後,需要選擇施壓模式、設定施壓量級等。

  • 壓力來源:選擇公網,如果您在阿里雲內網環境,可選擇阿里雲VPC內網

  • 壓力模式:選擇虛擬使用者模式。以虛擬使用者模式發起壓測,更適合用戶端發起的情境,而RPS模式是站在服務端的視角,衡量系統輸送量。

  • 遞增模式:選擇手動調速

  • 最大虛擬使用者數:虛擬使用者模式下,需要填寫最大虛擬使用者數,例如10。

  • 壓測總時間長度:例如1分鐘。

其他可保留預設值。

說明

發起壓測涉及費用問題,建議您合理選擇施壓量級,如需瞭解更多資訊,請參見計費概述壓力模式與量級配置

步驟三:調試並啟動情境

  1. 調試情境可驗證配置是否合理,避免壓測失敗,建議您先調試情境。

  2. 單擊儲存去壓測,在溫馨提示頁面,選擇立即執行並勾選確認本次壓測已獲得准許並遵守當地法律,然後單擊啟動壓測

分析壓測結果

壓測結束後,系統會自動擷取壓測過程中的資料,例如壓測情境指標、業務詳情資料、監控詳情資料和API採樣日誌等,產生壓測報告,您可在壓測報告頁面查看。更多資訊,請參見查看PTS壓測報告image