Meter是開源軟件Apache基金會下的一個性能測試工具,用來測試部署在服務器端的應用程序的性能。html
JMeter能夠在JMeter的官方網站下載,目前能下載的是JMeter 4.0,可看到安裝這個要求電腦有安裝java8或者java9java
安裝以前先下載其安裝包,這裏是下載地址。可根據本身的需求下載對應版本,我這裏下載的是java9,X64。下載以後雙擊安裝便可。apache
進入剛纔下載的jmeter解壓目錄下,點擊jmeter.bat服務器
打開的界面以下:oracle
這裏以訪問百度做爲例子工具
以下圖所示,右擊「testplan(測試計劃)」>add>Threads(Users)>Thread Group(線程組)。線程組的意思:JMeter是由Java實現的,而且使用一個Java線程來模擬一個用戶,所以線程組(Thread Group)就是指一組用戶的意思,換句話說一個線程組就是一組虛擬用戶(virtual users),這些虛擬用戶用來模擬訪問被測系統。oop
線程組設置:性能
1)Number of Threads(users)(線程數):這裏就是指虛擬用戶數,默認的輸入是「1」,則代表模擬一個虛擬用戶訪問被測系統,若是想模擬100個用戶,則此處輸入100。測試
2)Ramp-Up Period (in seconds): 虛擬用戶增加時長。好比你測試的是一個考勤系統,那麼實際用戶登陸使用考勤系統的時候並非你們喊一、二、3 - 走起,而後一塊兒登陸。實際使用場景多是9點鐘上班,那麼從8:30開始,考勤系統會陸陸續續有人開始登陸,直到9:10左右,那麼若是徹底按照用戶的使用場景,設計該測試的時候此處應輸入40(分鐘)* 60(秒)= 2400。可是實際測試通常不會設置如此長的Ramp-Up時間,緣由嘛,難道你作一次測試要先等上40分鐘作登陸操做?通常狀況下,能夠估計出登陸頻率最高的時間長度,好比此處可能從8:55到9:00登陸的人最多,那這裏設置成300秒,若是「線程數」輸入爲100,則意味着在5分鐘內100用戶登陸完畢。網站
3)Loop Count(循環次數):每一個線程發送請求的個數。若是線程數爲20 ,循環次數爲100 ,那麼每一個線程發送100次請求。總請求數爲20*100=2000 。若是勾選了「永遠」,那麼全部線程會一直髮送請求,直到手動點擊工具欄上的中止按鈕,或者設置的線程時間結束。
右擊「Thread Group」 > 「add」 > 「Sampler」 > 「HTTP Request」
設置HTTP Request頁面的屬性
1)name:輸入「百度」,就是被測試網頁的描述性文字
2)server name or IP:被測服務器的網站名字,也能夠是IP地址。剩下的屬性能夠按照被測系統的屬性按需配置,如今均可覺得空。
該頁面設置說明:
name(名稱):本屬性用於標識一個取樣器,建議使用一個有意義的名稱。
comments(註釋):對於測試沒有任何做用,僅用戶記錄用戶可讀的註釋信息。
protocol(http)(協議):向目標服務器發送HTTP請求時的協議,能夠是HTTP或者是HTTPS ,默認值爲http 。
server name or IP(服務器名稱或IP) :HTTP請求發送的目標服務器名稱或IP地址。
port number(端口號):目標服務器的端口號,默認值爲80 。
method(方法):發送HTTP請求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
path(路徑):目標URL路徑(不包括服務器地址和端口)
Content encoding :內容的編碼方式,默認值爲iso8859
自動重定向:若是選中該選項,當發送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)。
若是沒有勾選Log Viewer是看不到運行日誌的
若是以爲logo viewer不夠直觀,能夠添加結果監聽器查看:右鍵Tread Group ->ADD->Listener->View
以下操做可查看每個請求的結果: