1.建立測試計划
啟動jmeter后,jmeter會自動生成一個空的測試計划,用戶可以基於該測試計划建立自己的測試計划。
修改名稱為ASuperSimplePlan
2.新建線程組
一個性能測試請求負載是基於一個線程組完成的。一個測試計划必須有一個線程組。
點擊ASuperSimplePlan,右鍵:添加——>Threads(Users)——>線程組
jmeter中 每個測試計划至少需要包含一個線程組,當然也可以在一個計划中創建多個線程組,在測試計划下面多個線程是並行執行的,也就是說這些線程組是同時被初始化並同時執行線程組下的Sampler的。
線程組主要包含三個參數:線程數、准備時長(Ramp-Up Period(in seconds))、循環次數。
線程數:虛擬用戶數。一個虛擬用戶占用一個進程或線程。設置多少虛擬用戶數在這里也就是設置多少個線程數。
准備時長: 設置的虛擬用戶數需要多長時間全部啟動。如果線程數為20 ,准備時長為10 ,那么需要10秒鍾啟動20個線程。也就是每秒鍾啟動2個線程。
循環次數:每個線程發送請求的次數。如果線程數為20 ,循環次數為100 ,那么每個線程發送100次請求。總請求數為20*100=2000 。如果勾選了“永遠”,那么所有線程會一直發送請求,一到選擇停止運行腳本。
設置合理的線程數對於能否達到測試目標有決定性的影響。另外,設置合理的循環次數也很重要,除了上面介紹的固定循環次數與永遠外;也可以靈活的選擇設定測試運行時間。勾選“調度器”,進行調度器配置。
3.添加一個HTTP請求
在線程組上右鍵菜單(添加--->Sampler--->HTTP請求)選擇HTTP請求
一個HTTP請求有着許多的配置參數,下面將詳細介紹:
名稱:本屬性用於標識一個取樣器,建議使用一個有意義的名稱。
注釋:對於測試沒有任何作用,僅用戶記錄用戶可讀的注釋信息。
服務器名稱或IP :HTTP請求發送的目標服務器名稱或IP地址。
端口號:目標服務器的端口號,默認值為80 。
協議:向目標服務器發送HTTP請求時的協議,可以是http或者是https ,默認值為http 。
方法:發送HTTP請求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
Content encoding :內容的編碼方式,默認值為iso8859
路徑:目標URL路徑(不包括服務器地址和端口)
自動重定向:如果選中該選項,當發送HTTP請求后得到的響應是302/301時,JMeter 自動重定向到新的頁面。
Use keep Alive : 當該選項被選中時,jmeter 和目標服務器之間使用 Keep-Alive方式進行HTTP通信,默認選中。
Use multipart/from-data for HTTP POST :當發送HTTP POST 請求時,使用Use multipart/from-data方法發送,默認不選中。
同請求一起發送參數 : 在請求中發送URL參數,對於帶參數的URL ,jmeter提供了一個簡單的對參數化的方法。用戶可以將URL中所有參數設置在本表中,表中的每一行是一個參數值對(對應RUL中的 名稱1=值1)。
同請求一起發送文件:在請求中發送文件,通常,HTTP文件上傳行為可以通過這種方式模擬。
從HTML文件獲取所有有內含的資源:當該選項被選中時,jmeter在發出HTTP請求並獲得響應的HTML文件內容后,還對該HTML進行Parse 並獲取HTML中包含的所有資源(圖片、flash等),默認不選中,如果用戶只希望獲取頁面中的特定資源,可以在下方的Embedded URLs must match 文本框中填入需要下載的特定資源表達式,這樣,只有能匹配指定正則表達式的URL指向資源會被下載。
用作監視器:此取樣器被當成監視器,在Monitor Results Listener 中可以直接看到基於該取樣器的圖形化統計信息。默認為不選中。
Save response as MD5 hash? :選中該項,在執行時僅記錄服務端響應數據的MD5值,而不記錄完整的響應數據。在需要進行數據量非常大的測試時,建議選中該項以減少取樣器記錄響應數據的開銷。
下面修改名稱,填寫參數
4.添加一個監聽器
Jmeter 中使用監聽器元件收集取樣器記錄的數據並以可視化的方式來呈現。Jmeter有各種不同的監聽器類型,這里我們添加一個結果樹
右鍵點擊線程組,在彈的菜單(添加--->監聽器--->察看結果樹)中選擇察看結果樹
5.運行測試
運行有兩種方法
1).點擊工具欄 運行——>啟動
2).點擊工具欄三角綠色符號
6.觀察運行結果
分析數據,主要看圈起來的地方
文章結合以下兩個網址進行記錄
https://blog.csdn.net/u011541946/article/details/71037251
https://www.cnblogs.com/bravemi/p/5555602.html