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作為負載機時,壓測結果可通過文件名-瀏覽進行導入查看

