1. 程式人生 > >jmeter入門----安裝及簡單使用

jmeter入門----安裝及簡單使用

 

jmeter作為一個性能測試和介面測試的工具,非常好用,因為免費,所以也成為了許多公司的主流壓測工具,但是對於小白來說,使用它是有一定門檻的,首先懂一些程式設計,因為其中有if控制器,迴圈控制器等,還有會一些常用的協議如http,ftp等,下面從安裝開始,我們來一步一步的編寫一個簡單的壓測指令碼吧。

1.安裝jdk

  jmeter首先要安裝java,jdk下載地址:http://java.sun.com/javase/downloads/index.jsp,安裝後配置環境變數,

變數名:JAVA_HOME
變數值:C:\Program Files\Java\jdk1.8.0_51 (即jdk安裝的位置)
變數名:Path  (這個變數名已在系統變數中存在,現只需在這個值的前面新增以下變數值就可以了)
變數值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
變數名:CLASSPATH
變數值:.;%JAVA_HOME%lib;%JAVA_HOME%lib\tools.jar(記住前面的.)

配置完成之後點選“確定”,jdk就配置完成。 檢測jdk安裝版本,在cmd命令框中輸入“java -version”回車即可檢視版本   2.安裝jmeter jmeter下載地址: http://jmeter.apache.org/download_jmeter.cgi,同樣配置環境變數

變數名:JMETER_HOME

變數值:C:\Program Files\apache-jmeter-2.11

變數名:CLASSPATH

變數值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;

%JMETER_HOME%\lib/logkit-2.0.jar;

建立完成之後點選“確定”即可

3.進入你的apache-jmeter-2.11目錄,開啟bin目錄,下面有個jmeter.bat檔案,雙擊即可開啟jmeter,

 

當你看到了jmeter的gui介面,並且右上角的黃色驚歎號顯示為0時,說明jmeter已經正確安裝了,如果沒有,肯定是環境變數配錯了

2.jmeter使用

  我們來對百度進行一個簡單的壓測,並且檢視它的各項指標(tps,RT等),tps--每秒的事務數,就是每秒能處理多少套流程,比如你的支付事物,肯定有銀行,支付寶伺服器的參與,這個過程就是一個事務,Rt--響應時間,從發出請求到接受到響應的時間,越短說明效能越好。

開啟jmeter後如下 

每個壓測指令碼都會有一個測試計劃根節點,點選測試計劃,右鍵新增threads->執行緒組,如下:

 

我們來看看每個需要配置的項的含義:

名稱:這個執行緒組的名字,去個不要重複有意義的吧

註釋:類似於程式碼註釋,可以寫個簡要說明

在取樣器錯誤後要執行的動作:這個要重點解釋下了,jmeter是通過多個執行緒,每個執行緒有執行這一套流程,來對伺服器產生壓力,可以想象成跑道上比賽,有多少個跑道就有多少個執行緒,每個跑道都是一樣的,那其中有執行緒失敗了怎麼辦呢?繼續--不管錯誤,繼續執行下面的請求,相當於繼續跑下去。start next thread loop:失敗後當前的事務不執行下去了,從頭開始,如果你設定了下面的迴圈次數,那就開始下一個迴圈。停止執行緒--當前執行緒的當前迴圈失敗了,那麼這個執行緒就被停止了,這個跑道就沒用了。停止測試--如果有一個迴圈失敗了,那麼所有的執行緒都執行完當前迴圈就停止,只要有一個人摔倒了,所有的人跑完了就結束了  stop test now--如果有一個迴圈失敗了,那麼所有的執行緒立即停止,只要有一個人摔倒了,所有的人馬上停止。

執行緒數:虛擬使用者數,幾條跑道,這裡設定10

Ramp-up Period:在這個時間內所有的執行緒都啟動,比如說執行緒數為10,Ramp-up Period為5,那就是每秒啟動兩個,每秒都有2個人開始跑,5s內全部都開始了,這裡設定5

迴圈次數:每個執行緒的迴圈次數,當前跑道跑幾次,執行緒數為10,迴圈次數為5,那就跑了50次,這裡設定5

 

點選執行緒組,右鍵新增->sample->http請求,如下:

名稱註釋和上面一樣

伺服器名稱或IP:就是你要傳送http請求的主機,這裡填入www.baidu.com

埠號:預設80,如果是https填入443

路徑:url的路徑部分,這個填入/

方法:常用的是get和post,這個用get

協議:預設http,這裡保持就行

 

 點選http請求,右鍵新增->斷言->響應斷言

 

 斷言相當於你預計的結果,這裡在要測試的模式中填入<title>百度一下,你就知道</title>,因為這個http會返回這個

 點選http請求,右鍵新增->監聽器->檢視結果樹

 點選http請求,右鍵新增->監聽器->聚合報告

 所有的設定就這樣了,點選執行

點選檢視結果樹,你可以看到都是綠色的,說明返回的結果和預期的斷言一致,不一致會顯示紅色(可以試試把響應斷言改成其他的內容)

點選聚合報告,你會看到一些資料:

 

label:就是你的請求名字

sample:一用傳送了多少個請求

average:每個請求都會有響應時間RT,把這些響應時間從小到大排列,90%的,95%,中位數,最大的和最小的時間都可以看到

error:錯誤率,這裡沒有錯誤,顯示0

throughput:吞吐量,每秒處理多少個事務,這裡顯示11,顯然不是最大的能力,因為我們的壓力比較小

後面兩個是每秒傳送和接受的位元組大小

 

  以上是一個及其簡單的壓測指令碼,所有的壓測指令碼都是在這個框架之上新增其他的元件,當然這幾個元件還有很多屬性沒有一一列出,利用這個指令碼我們得到百度伺服器當前壓力值下的tps,RT,這只是效能的第一步,總之就是模擬多個使用者對介面進行訪問,獲取一些指標, ps 不要對伺服器壓的太狠!!!!