1. 程式人生 > >JMeter入門教程【二】

JMeter入門教程【二】

簡介

本文由xmeter君寫給想了解效能測試和JMeter的小白,適合對這兩者瞭解很少的同學們,如果已經有使用經驗的請繞道,別浪費時間:-)  我們將介紹JMeter的使用場景,如何安裝、執行JMeter,以及開始一個最最簡單的測試。你還徘徊在JMeter的門口嗎?別猶豫了,跟著本文做完,你就可以開啟你的JMeter之旅了。

JMeter是開源軟體Apache基金會下的一個性能測試工具,用來測試部署在伺服器端的應用程式的效能。近來,JMeter因為其使用簡單,現在也被社群作為介面測試工具...... 啥?什麼是效能測試,怎麼又來了個介面測試?好吧,xmeter君舉個栗子,你開了一個網店,興沖沖地準備雙十一大幹一把,沒想當天活動的時候大量使用者一訪問你的網店,你的網店掛了,那怎麼辦?辦法就是在實際搞活動之前,先測試一下以確認系統能承受那麼多的使用者,當然測試的時候我們不需要請真正的這麼多實際使用者,否則得花多少錢啊,JMeter就是那個能幫助模擬大量使用者訪問你網站的一個軟體。對,而且它是開源的,不花錢!那個介面測試呢,這裡大概瞭解一下就可以了,就是驗證你的網店應用邏輯有沒有問題的,比如你做打折活動的時候,結算的時候金額別出錯,要不客戶找你麻煩不是?

JMeter下載和安裝

JMeter可以在JMeter的官方網站下載,下載連結如下圖所示,xmeter君寫本文的時候(2016/11)可以下載到的最新的版本是3.0,

JMeter下載

下載後解壓到你係統下的任意目錄,我們稱該目錄為%JMETER_HOME%,然後執行%JMETER_HOME%\bin\jmeter.bat檔案,怎麼樣,JMeter出來了嗎?嗯!?等等,好像報錯了。仔細看一下報錯原因,原來是Java沒安裝,因為JMeter是用Java寫的,執行的時候需要Java ......不對啊,xmeter君,我這裡好像已經看到JMeter的介面了 -- 當然咯,恭喜你,這是因為你之前已經安裝了Java了,就跳過下一步吧。

Java未安裝錯誤

安裝Java

安裝之前先下載其安裝包,這裡是下載地址。開啟頁面後,按序點選下列所示的連結,xmeter君寫本文的時候,Java的最新版本是8。

Java下載地址

進入下一個頁面後,按序點選如下所示開始下載,當然,下載的檔案需要跟你的系統對應,如果是Linux請下載相關的Linux版本,xmeter君用的是Windows 64位版的Java。

下載Java的連結

下載完畢之後執行exe檔案,按照嚮導提示安裝完Java。再次執行%JMETER_HOME%\bin\jmeter.bat,如果都安裝對了的話就應該能出現JMeter的執行介面了。

JMeter 3.0執行介面

JMeter之初體驗

JMeter安裝完了,那我們來一個簡單的實驗。效能測試當然得有個測試目標,就是被測系統是什麼,xmeter君這裡就以測度娘為例來描述構造一個簡單的效能測試過程:xmeter君保證你在5分鐘之內完成一次測試體驗。

新增虛擬使用者組

如下圖所示,右擊“測試計劃”>新增>Threads(Users)>執行緒組。這裡xmeter君需要解釋一下“執行緒組”的意思:JMeter是由Java實現的,並且使用一個Java執行緒來模擬一個使用者,因此執行緒組(Thread Group)就是指一組使用者的意思,換句話說一個執行緒組就是一組虛擬使用者(virtual users),這些虛擬使用者用來模擬訪問被測系統。

新建執行緒組

接下來xmeter君給大家介紹下“執行緒組”中常用到的一些設定。

1)執行緒數:這裡就是指虛擬使用者數,預設的輸入是“1”,則表明模擬一個虛擬使用者訪問被測系統,如果想模擬100個使用者,則此處輸入100。

2)Ramp-Up Period (in seconds): 虛擬使用者增長時長。不明白彆著急,xmeter君給你舉個栗子:比如你測試的是一個考勤系統,那麼實際使用者登入使用考勤系統的時候並不是大家喊1、2、3 - 走起,然後一起登入。實際使用場景可能是9點鐘上班,那麼從8:30開始,考勤系統會陸陸續續有人開始登入,直到9:10左右,那麼如果完全按照使用者的使用場景,設計該測試的時候此處應輸入40(分鐘)* 60(秒)= 2400。但是實際測試一般不會設定如此長的Ramp-Up時間,原因嘛,難道你做一次測試要先等上40分鐘做登入操作?一般情況下,可以估計出登入頻率最高的時間長度,比如此處可能從8:55到9:00登入的人最多,那這裡設定成300秒,如果“執行緒數”輸入為100,則意味著在5分鐘內100使用者登入完畢。

3)迴圈次數:該處設定一個虛擬使用者做多少次的測試。預設為1,意味著一個虛擬使用者做完一遍事情之後,該虛擬使用者停止執行。如果選中“永遠”,則意味著測試執行起來之後就根本停不下來了,除非你把它強制咔嚓。

執行緒組的設定

新增被測頁面

接下來的一步就是要加入實際被測頁面,右擊“執行緒組” > “新增” > “Sampler” > “HTTP請求”。

新增“HTTP請求”

接下來需要設定一下“HTTP請求” Sampler的屬性,如下所示:

1)名稱:輸入“百度”,就是被測試網頁的描述性文字

2)伺服器名稱或IP:被測伺服器的網站名字,也可以是IP地址。剩下的屬性可以按照被測系統的屬性按需配置,現在都可以為空。

設定HTTP請求的屬性

現在的測試指令碼已經可以運行了,先點選下面如圖所示的第一步:點選儲存指令碼按鈕;然後點選如圖所示的第二步:點選執行測試按鈕。

儲存與執行測試

等等,xmeter君,為什麼我的測試跑完了沒啥反應?嗯,其實測試已經跑完了,你可以去“選項” > “Log Viewer”看看執行的日誌。如果你還是看不到日誌,你可以點選下面所示的三角箭頭展開或者收起日誌檢視。日誌檢視中可以看到“執行緒組 1-1”的啟動和結束時間,表明測試已經跑完。

測試日誌檢視

這JMeter執行看著也太不直觀了吧?那如果我的測試有問題了,怎麼發現啊?彆著急,JMeter提供了“監聽器”讓使用者來觀察測試結果。

新增結果監聽器

如下圖所示,右擊“執行緒組” > “監聽器” > “察看結果樹”來檢視效能測試過程中請求和響應資訊。新增完畢後,儲存測試指令碼,再次執行。

新增檢視結果樹

執行測試完畢之後,點選“察看結果樹” > “百度”,點選下圖中3所示位置,你可以看到一些測試期間一些有用的資訊,比如傳送的請求的資訊和響應資料等。接下來可以試著改一下“執行緒組”裡的“執行緒數”為10,就是模擬10個使用者訪問。別改太大哦,否則小心度娘把你的IP地址給封了 :-)

察看結果樹截圖