建立JMeter情境並匯入本地JMeter指令碼,即可發起一次壓測。本文為您介紹如何通過簡單配置,快速發起一次Web頁面壓測。
前提條件
已開通PTS服務。
本樣本使用
Apache JMeter 5.6.3來建立指令碼,PTS支援JMeter 5.0 和 5.6.3。
方案概覽
若需使用JMeter壓測功能,首先需要在本地使用Apache JMeter建立一個壓測指令碼。下面分兩個步驟,為您示範如何建立JMeter指令碼並上傳到JMeter情境開啟壓測。
步驟一:使用Apache JMeter建立指令碼
配置HTTP請求的屬性,包括伺服器名稱或IP地址、連接埠號碼、HTTP方法等。

Basic頁簽配置項說明:
Protocol:樣本選擇
http。Server name or IP:介面網域名稱,例如
www.example.com。Port Number:服務連接埠號碼,例如
80。Method:選擇
GET。
運行測試計劃,並在View Results Tree中查看結果,返回以下資訊表示上傳成功。

調試成功後,匯出測試計劃檔案,此處命名為
HTTP_Request.jmx。
步驟二:建立JMeter情境並啟動壓測
登入PTS控制台,選擇,然後單擊JMeter壓測。
情境編排

重要配置項說明如下:
情境名:輸入
test-jmx。上傳指令檔:在情境裝配頁簽下,添加JMeter指令檔
HTTP_Request.jmx。JMeter 版本:選擇
5.6.3。注意與建立指令碼使用的Apache JMeter版本保持一致,否則可能會出錯。施壓配置
最大虛擬使用者數配置為
10,壓測時間長度和遞增時間長度配置2分鐘。其他配置保持預設即可。發起壓測涉及費用問題,建議您合理選擇施壓量級,如需瞭解更多資訊,請參見計費概述、壓力模式與量級配置。
情境調試
調試情境可驗證配置是否合理,避免壓測失敗,建議您先調試情境。如下所示即為請求成功,如果響應狀態不是
200,請檢查API是否可以正常訪問。
單擊儲存去壓測,在溫馨提示頁面,選擇立即執行並勾選確認本次壓測已獲得准許並遵守當地法律,然後單擊啟動壓測。
分析壓測結果
壓測結束後,系統會自動擷取壓測資料,例如壓測情境指標、業務詳情資料、監控詳情資料和API採樣日誌等,產生壓測報告。您可在壓測報告頁面查看。更多資訊,請參見查看JMeter壓測報告。
常見問題
JMeter壓測失敗可能是因為PTS控制台的JMeter和本地JMeter版本不匹配、jar包外掛程式沒有上傳完全、指令碼中配置了本地路徑的檔案或JMeter壓測的壓力分配問題。相關解決方案如下所示:
雖然一般高版本JMeter能相容低版本的,但不能保證有沒有隱藏問題,盡量保證PTS控制台的JMeter和本地JMeter版本一致,本地調通後上雲壓測。並且不支援JMeter4.x。
本地調試用到的jar包外掛程式和資料檔案要隨著指令碼一起上傳到JMeter情境中,不能遺漏。
指令碼中用到檔案時,本地調試時寫的本地檔案路徑要統統刪掉,只保留檔案名稱,這是因為PTS施壓機和本地檔案系統不一樣,不去掉會出錯。
為了使壓力達到控制台上設定的目標,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即可。如果有多個線程組且希望線程組的壓力均等,則將每個線程組的線程數配置為相同的數字。如果希望每個線程組的壓力成比例分配,就將每個線程組的線程數成比例配置。