性能測試,壓力測試工具 JMeter入門教程

本文版權歸xmeter.net所有。歡迎轉載,轉載請註明出處。

 

簡介


本文由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地址給封了 :-)

察看結果樹截圖

 

好啦,至此爲止,你已經學會了寫一個最簡單的JMeter的性能測試用例。怎麼樣,夠簡單吧!



作者:XMeter性能測試雲服務
鏈接:http://www.jianshu.com/p/0e4daecc8122
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

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