使用JMeter壓測的類比上傳功能,可對檔案、圖片的上傳介面進行壓測。本文為您介紹如何使用Apache JMeter用戶端構造指令碼,並在PTS控制台完成上傳介面壓測。
前提條件
已開通PTS服務。
本樣本使用
Apache JMeter 5.6.3來建立指令碼,PTS支援JMeter 5.0 和 5.6.3。
方案概覽
在進行大規模測試時,JMeter自身的效能可能成為瓶頸,尤其是在單機模式下。即使使用JMeter的分布式測試功能,將負載分布到多台機器上。也很難做到統一調度和資料收集。此外,JMeter內建的報告和分析功能可能不夠直觀,難以滿足複雜的分析需求,常常需要使用外部工具如Grafana、Kibana等進行資料視覺效果和分析。Performance Testing Service的JMeter壓測提供便捷的橫向擴充能力,同時結合CloudMonitor整合功能持續補強JMeter在高並發和監控定位方面的能力和體驗。
使用Performance Testing Service的JMeter壓測功能類比圖片上傳可分兩部分配置。
首先需要在本機電腦安裝
Apache JMeter 5.6.3來建立指令碼。將指令碼和圖片上傳到JMeter壓測的情境中,並做進一步調試。調試成功後,可在此發起壓測。
步驟一:使用Apache JMeter用戶端構造上傳指令碼
配置HTTP請求的屬性,包括伺服器名稱或IP地址、連接埠號碼、HTTP方法(如POST)、路徑(上傳介面的路徑)、檔案上傳的參數等。

Basic頁簽配置項說明:
Protocol:選擇
http或https。Server name or IP:介面網域名稱,例如
www.example.com。Port Number:服務連接埠號碼,例如
5000。Method:選擇
POST。Path:上傳介面的路徑,例如
/upload。
Files Upload頁簽配置項說明:
File Path:檔案需上傳到JMeter情境中,這裡直接寫檔案名稱,不要帶本地路徑。例如
test.jpg。Parameter Name:輸入檔案上傳表單的參數名稱,例如
fileToUpload。MIME Type:輸入檔案的 MIME 類型,例如
image/jpeg。
添加所需的HTTP頭資訊。
上傳介面一般需要配置Cookie和Content-Type。本樣本不涉及登入操作,暫不設定Cookie,只配置Content-Type。

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

調試成功後,匯出測試計劃檔案,此處命名為
uploads.jmx。
步驟二:建立並啟動JMeter壓測
登入PTS控制台,選擇,然後單擊JMeter壓測。
情境配置
輸入情境名。
在情境裝配頁面,上傳步驟一:使用Apache JMeter用戶端構造上傳指令碼中匯出的
uploads.jmx檔案。單擊上傳檔案,添加一個圖片檔案,檔案名稱必須和
uploads.jmx中配置的一致。
選擇JMeter 版本,此處選擇
5.6.3。注意與建立指令碼使用的本地JMeter版本保持一致,否則可能會報錯。
施壓配置
本樣本從阿里雲VPC內網發起壓測。壓測會產生相關費用,您可根據需要合理選擇壓力來源以及施壓參數。更多資訊請參考壓力模式與量級配置,計費概述。

調試並啟動壓測
調試情境可驗證配置是否合理,避免壓測失敗,建議您先調試情境。
情境調試成功後,單擊儲存去壓測,在溫馨提示頁面,選擇立即執行並勾選確認本次壓測已獲得准許並遵守當地法律,然後單擊啟動壓測。
分析壓測結果
壓測結束後,系統會自動擷取壓測資料,例如壓測情境指標、業務詳情資料、監控詳情資料和API採樣日誌等,產生壓測報告。更多資訊,請參見查看JMeter壓測報告。