在PTS原生壓測中,如果您需要構造動態變化的業務請求,可以通過參數化實現。在使用JMeter壓測時,如果有同樣的動態壓測需求,建議您在JMeter指令碼中添加Config Element:CSV Data Set Config,從CSV檔案中讀取參數。同時,JMeter壓測支援切分CSV檔案,將CSV檔案中的資料分配到每個壓測引擎。
背景資訊
CSV Data Set Config是JMeter官方提供的配置元件,用於讀取CSV檔案中的資料並將它們拆分為變數。適用於處理大量變數的情境。
如果上傳的CSV檔案在JMeter指令碼中沒有對應的CSV Data Set Config配置,則切分CSV檔案時預設作為不包含表頭(即變數名)的CSV檔案切分。為方便操作,並避免資料被錯誤切分,建議您始終通過配置CSV Data Set Config使用CSV參數檔案。
配置CSV參數檔案
為構建動態變化的壓測請求,需要在JMeter指令碼中配置CSV檔案。
例如,為測試同時有100人登入某網站時,該網站登入介面的效能表現如何,則需要構造100條不同的使用者登入資料。操作步驟如下:
在本地建立一份CSV檔案,包含100條使用者資料。該CSV檔案樣本中第一行是表頭,表示變數名。基本格式樣本如下:
username,password user1,Password1 user2,Password2 user3,Password3說明如果CSV檔案不含表頭,CSV Data Set Config中需要組態變數名。
添加CSV Data Set Config到Thread Group。

在CSV Data Set Config配置地區,填寫CSV檔案名稱,其他配置項保持預設。JMeter會自動從CSV檔案的表頭中讀取參數名作為變數名。
說明如果CSV檔案不含表頭,需要在CSV Data Set Config的Variable Names (comma-delimited)中,輸入
username,password。配置Sampler
按右鍵線程組,選擇Add > Sampler > HTTP Request。根據具體業務介面,填寫配置項,樣本如下:
Name:介面名。
Web Server:填寫具體的業務介面協議、服務名或IP地址和連接埠號碼。
HTTP Request:選擇要求方法,填寫Path。
Body Data頁簽:使用
${username}、${password},表示讀取CSV檔案中的參數。
儲存JMeter測試指令碼。
將測試指令碼和CSV檔案上傳至PTS。具體步驟,請參見建立JMeter情境。
CSV檔案切分
選中CSV檔案後的切分檔案,可將CSV檔案中的資料切分到每個壓測引擎上。
包含檔案頭的CSV檔案切分
當原CSV帶檔案頭時,切分後的每個檔案都會包含檔案頭,但保證資料不重複。如果資料條數不能完全均分,則部分引擎可能比其他引擎多一條資料。
如上述樣本檔案切分到2個引擎時:
第1個檔案內容為:
username,password user1,Password1 user3,Password3第2個檔案內容為:
username,password user2,Password2
不含檔案頭的CSV檔案切分
如果CSV檔案不包含檔案頭(第一行即為CSV資料),例如,檔案“b.csv”內容如下:
user1,Password1
user2,Password2
user3,Password3 則需在JMeter中組態變數名,如下圖所示:
此時如果選擇切分CSV檔案,切分後的檔案也不包含檔案頭。如果資料條數不能完全均分,則部分引擎可能比其他引擎多一條資料。如切分到2個引擎時:
第1個檔案內容為:
user1,Password1 user3,Password3第2個檔案內容為:
user2,Password2
更多資訊
更多CSV檔案配置和使用說明,請參見JMeter官方文檔。