全部產品
Search
文件中心

Performance Testing Service:JMeter壓測快速入門

更新時間:Sep 05, 2026

建立JMeter情境並匯入本地JMeter指令碼,即可發起一次壓測。本文為您介紹如何通過簡單配置,快速發起一次Web頁面壓測。

前提條件

  • 已開通PTS服務。

  • 本樣本使用Apache JMeter 5.6.3來建立指令碼,PTS支援JMeter 5.0 和 5.6.3。

方案概覽

若需使用JMeter壓測功能,首先需要在本地使用Apache JMeter建立一個壓測指令碼。下面分兩個步驟,為您示範如何建立JMeter指令碼並上傳到JMeter情境開啟壓測。

步驟一:使用Apache JMeter建立指令碼

  1. 配置HTTP請求的屬性,包括伺服器名稱或IP地址、連接埠號碼、HTTP方法等。

    Basic頁簽配置項說明:

    • Protocol:樣本選擇http。

    • Server name or IP:介面網域名稱,例如www.example.com。

    • Port Number:服務連接埠號碼,例如80。

    • Method:選擇GET。

  2. 運行測試計劃,並在View Results Tree中查看結果,返回以下資訊表示上傳成功。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Simple Web Page</title>
    </head>
    <body>
        <h1>Welcome to My Simple Web Page</h1>
        <p>This is a simple web page created using Flask.</p>
    </body>
    </html>
  3. 調試成功後,匯出測試計劃檔案,此處命名為HTTP_Request.jmx。

步驟二:建立JMeter情境並啟動壓測

  1. 登入PTS控制台,選擇效能測試 - 创建场景,然後單擊JMeter壓測。

  2. 情境編排

    重要配置項說明如下:

    情境名:輸入test-jmx。

    上傳指令檔:在情境裝配頁簽下,添加JMeter指令檔HTTP_Request.jmx。

    JMeter 版本:選擇5.6.3。注意與建立指令碼使用的Apache JMeter版本保持一致,否則可能會出錯。

  3. 施壓配置

    最大虛擬使用者數配置為10,壓測時間長度和遞增時間長度配置2分鐘。其他配置保持預設即可。發起壓測涉及費用問題,建議您合理選擇施壓量級,如需瞭解更多資訊,請參見計費概述、壓力模式與量級配置。

  4. 情境調試

    調試情境可驗證配置是否合理,避免壓測失敗,建議您先調試情境。調試成功時,請求日誌中對應 API 的響應狀態顯示為 200。如果響應狀態不是200,請檢查API是否可以正常訪問。

  5. 單擊保存去压测,在溫馨提示頁面,選擇立即執行並勾選确认本次压测已获得准许并遵守当地法律,然後單擊啟動壓測。

分析壓測結果

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

常見問題

JMeter壓測失敗可能是因為PTS控制台的JMeter和本地JMeter版本不匹配、jar包外掛程式沒有上傳完全、指令碼中配置了本地路徑的檔案或JMeter壓測的壓力分配問題。相關解決方案如下所示:

  1. 雖然一般高版本JMeter能相容低版本的,但不能保證有沒有隱藏問題,盡量保證PTS控制台的JMeter和本地JMeter版本一致,本地調通後上雲壓測。並且不支援JMeter4.x。

  2. 本地調試用到的jar包外掛程式和資料檔案要隨著指令碼一起上傳到JMeter情境中,不能遺漏。

  3. 指令碼中用到檔案時,本地調試時寫的本地檔案路徑要統統刪掉,只保留檔案名稱,這是因為PTS施壓機和本地檔案系統不一樣,不去掉會出錯。

  4. 為了使壓力達到控制台上設定的目標,PTS會在壓測時對指令碼進行改寫(不會覆蓋原來的指令碼)。改寫方法為:

    PTS控制台上配置的並發數,除去setUp Thread Group和tearDown Thread Group中的線程數(我們不會改寫這兩種線程組的配置, 只會改寫普通的Thread Group),剩下的線程數(如果小於0則為0)會在普通線程組中進行分配。此時假如指令碼中配置了三個普通線程組,線程數比例為a:b:c。情境中配置500並發,並且沒有setup thread group和tear down thread group,那麼500並發將會按照a:b:c的比例分配到這些線程組上。 基於以上資訊,請在壓測前明確指令碼中的線程群組類型。如果您的指令碼中只有一個線程組,指令碼中的線程組配置的線程數寫1即可。如果有多個線程組且希望線程組的壓力均等,則將每個線程組的線程數配置為相同的數字。如果希望每個線程組的壓力成比例分配,就將每個線程組的線程數成比例配置。

相關文檔