Jmeter壓測-負載機為windows和linux,參數化使用CSV Data Set Config


1、 壓測關注指標(tps要達到多少,響應時間要達到多少,並發數達到多少,測試時指標要給出才好判斷系統性能好壞)

TPS:服務端每秒處理的請求數,TPS越大越好,說明服務端處理的能力比較強

響應時間:服務端處理請求的時間,響應時間越短越好

通過聚合報告進行查看

2、 結論

參數化使用CSV Data Set Config時:

windows作為負載機,需要將參數化文件拷貝過去,不用拷貝腳本到負載機;

linux作為負載機,也同樣需要將參數化文件拷貝過去,不用拷貝腳本到負載機;

 

當同時需要增加windows和linux作為負載機時,因為windows和linux絕對路徑使用的分隔符不同,windows中是\,linux中是/:所以用絕對路徑時無法同時加載參數化文件;

解決:將CSV Data Set Config 中Filename路徑直接寫為相對路徑:路徑中直接輸入參數化文件名稱,這樣就可以同時負載成功;

 

3、  添加負載機

(1)、Windows作為負載機:

在jmeter的bin目錄下,找到jmeter-server.bat,啟動jmeter-server

 

         linux(或mac)作為負載機:

在jmeter的bin目錄下,找到jmeter-server.sh,啟動jmeter-server,如果報錯Server failed to start: java.rmi.RemoteException: Cannot start. test is a loopback address.An error occurred: Cannot start. test is a loopback address.

可通過指定ip來啟動成功:通過./jmeter-server -Djava.rmi.server.hostname=192.168.0.XXX指定ip啟動成功;

 

(2)、找到主控機的jmeter的配置文件()bin目錄下的jmeter.properties),查找remote_hosts,將負載機的ip添加到remote_hosts,多個ip之間用逗號隔開,默認端口為1099,具體端口號與server-port一致

                  

(3)、改完配置文件后要重啟才能生效,一般點遠程全部啟動就可啟動所有負載機,自動分配請求

         如果有參數化文件,則在負載機的同樣位置上也得有參數化文件

 

 

4、  遠程啟動負載機報錯問題解決

Linux負載機:

啟動linux負載機報錯jmeter腳本導入參數化文件uname.txt后,遠程啟動負載機,jmeter-server.log中報錯uname.txt must be exist and readable

 

將參數化文件放到bin目錄下,啟動./jmeter-server,負載成功;

 

Windows負載機:

如果出現jmeter-server.log中能看到運行日志是成功,但主控機jmeter中收不到負載機返回的結果,發現log文件鏈接的ip是192.168.1.111,不是主控機機的ip:禁用其他不用的網卡后,能收到返回結果負載機加載成功;

         主控機器中jmeter腳本導入參數化文件uname.txt后,遠程啟動負載機,jmeter-server.log中報錯uname.txt must be exist and readable:

 

將參數化文件uname.txt 放到負載機windows的相應目錄下,啟動遠程服務,收到負載機的返回結果,負載成功;

        

5、  壓測腳本設置

1)、添加線程組(已安裝jdk(配置好環境變量)和jmeter)

 

 

 

(1)線程數:類似LR中的vu,表示多少個用戶並發

(2)Ramp-Up Period(in seconds):表示延遲多少秒啟動用戶,我們此處設置為0,表示立即啟動所有用戶

(3)循環次數:如果勾選永遠,如果不停止或在設定時間內會一直循環一般配合調度器進行使用;如果只想循環10次,那么久取消永遠勾選框,在后面輸入框中輸入10即可;當配置了調度器后,循環次數要勾選永遠;

(4)Delay Thread creation until needed:需要的時候再啟動線程

(5)調度器配置:

持續時間(秒):設置腳本持續的時間,如需要跑15分鍾則設置為900;如果在持續時間內結束時間已到,則持續時間會覆蓋結束時間繼續執行(一般壓測時間為10或15分鍾);

啟動延遲(秒):為0,則表示不延遲,可根據需要進行設置;在點擊啟動后,如果啟動時間已經到,但是還沒有到啟動延遲的時間,則啟動延遲時間將會覆蓋啟動時間,等到啟動延遲的時間到達后,才執行腳本。 

2)、添加http請求

 

協議:http

服務器名稱或ip:填寫要壓測的服務器名稱或ip地址

端口號:默認80,根據服務器端口配置進行填寫

方法:GET/POST(get和post區別:get請求的參數在url中,post請求參數寫在body里)

路徑:填寫要壓測的路徑

Content encoding:一般為utf-8

與請求一起發送參數:填寫請求中發送的參數名稱和要傳的值

3)、添加查看結果樹

 

取樣器結果:查看取樣數據的詳細信息

請求:查看請求發送的信息

響應數據:查看服務器返回數據是否為正確;

 

4)、添加聚合報告

 

Label:節點名稱

Samples:在壓測的區間,總共發出的請求數或事物數(與並發用戶數不是一個概念)

Average:響應時間,單位是毫秒,單位可進行修改

Median:中間響應時間,50%的請求數小於

90%Line:90%的請求數小於

95%Line:95%的請求數小於

99%Line:99%的請求數小於

Min:最小響應時間

Max:最大響應時間

Error%:錯誤率

Throuput:TPS,與lr中的單位不同

Received KB/s:每秒接收的字節數

Sent KB/s:每秒發出的字節數

 

Linux作為負載機時,壓測結果可通過文件名-瀏覽進行導入查看

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM