jmeter分佈式測試

要用jmeter做性能測試,基本原理都懂,就差實踐,但是還有一個小問題:畢竟是用自己的電腦做測試機,說是測服務器性能,實際對自己電腦壓力也不小。解決辦法就是拉上所有測試夥伴,大家電腦一起發送多個線程對服務器加壓。理論是這樣,下面寫一下技術實現。

所有測試機都要裝jdk和jmeter,版本最好都相同。然後配置環境變量,jdk這裏就不寫了。jmeter可以直接在path裏面加上jmeter路徑,一直到jmeter的bin目錄;或者顯得高大上一點,添加個JMETER_HOME,到jmeter的路徑,然後在path里加%JMETER_HOME%\bin。下面這樣子:

再把所有測試機分爲兩種,一臺控制機,其他都是執行機。控制機主要查看結果,響應時間,監控服務器CPU、內存等都得在控制機看;執行機主要就支援一個內存,開啓服務之後什麼都不用管了。

先設置一下執行機(理論上可以不設置,但是不設置端口號好像每次都變,設置一下直接寫死):

1、用記事本打開jmeter的bin目錄下jmeter.properties文件,找到server_port,把前面的井號去掉,等號後面的值應該是1099(這不重要,想改就改成別的)。再找到server.rmi.localport,把前面的井號去掉,這後面的值改爲和server_port的值一樣。保存。

2、關閉防火牆。

3、如果執行機裏還裝有虛擬機,在控制面板\網絡和 Internet\網絡連接裏把虛擬機裏的網絡都禁用(感覺這裏會有問題)。

4、啓動jmeter的bin目錄下的jmeter-server.bat,效果如下

紅框裏面的IP和端口號記下。一臺執行機就設置好了,如果多臺執行機就重複步驟1-4。執行機配置都要差不多,不然每臺承受的線程數不一樣,還得以最低線程數設置。

下面設置控制機:

1、用記事本打開jmeter的bin目錄下jmeter.properties文件,找到remote_hosts,去掉前面的井號,127.0.0.1看情況可以刪除,如果控制機也當執行機用那就不用刪了(刪除不影響jmeter點綠三角執行接口測試,但是不刪除下面如果選擇遠程全部啓動,控制機一定也要打開jmeter-server.bat,否則執行會報錯)。

後面加上執行機的IP、端口號(我這是另一臺電腦的,剛纔上面打開的是本地的,所以IP和上面的IP不一樣)。

2、找到mode=Standard,去掉前面的井號(如果不去掉可能執行過後,控制機這裏查看結果樹爲空,實際執行機已經做了接口測試了)

3、如果控制機也要做執行機,那也要啓動jmeter-server.bat。

經過上面一系列設置,可以做分佈式測試了。jmeter選擇一個腳本,遠程啓動可以選擇啓動哪個執行機。如果選擇遠程全部啓動,如果腳本線程數爲1,循環次數爲1,那就直接執行兩次。

執行之後有這麼個效果。

最後還有需要注意:只要控制機有腳本就行,執行機可以沒有腳本,有腳本也沒影響,但是執行機不能有和控制機腳本名字相同、內容不同的腳本,否則什麼都執行不出來。如果腳本涉及到參數化文檔什麼的,要把參數化文檔拷到執行機一份,並且路徑也要和控制機一致。

基本就是這麼多,已經結合了很多篇博客的經驗,並且有實際操作確認可以成功。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章