JMeter效能測試入門篇,超詳細- IT閱讀 - ITREAD01.COM

文章推薦指數: 80 %
投票人數:10人

Apache JMeter是一款純java編寫負載功能測試和效能測試開源工具軟體。

相比Loadrunner而言,JMeter小巧輕便且免費,逐漸成為了主流的效能測試工具,是每個 ... JMeter效能測試入門篇,超詳細 首頁 最新 HTML CSS JavaScript jQuery Python3 Python2 Java C C++ Go SQL 首頁 最新 Search JMeter效能測試入門篇,超詳細 2018-11-21254 原文轉自:https://blog.csdn.net/lovesoo/article/details/78579547 1.Jmeter簡介 ApacheJMeter是一款純java編寫負載功能測試和效能測試開源工具軟體。

相比Loadrunner而言,JMeter小巧輕便且免費,逐漸成為了主流的效能測試工具,是每個測試人員都必須要掌握的工具之一。

本文為JMeter效能測試完整入門篇,從Jmeter下載安裝到編寫一個完整效能測試指令碼、最終執行效能測試並分析效能測試結果。

執行環境為Windows10系統,JDK版本為1.8,JMeter版本為3.3。

2.Jmeter安裝 2.1JDK安裝 由於Jmeter是基於java開發,首先需要下載安裝JDK(目前JMeter只支援到Java8,尚不支援Java9) 1.官網下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.選擇JavaSE8u151/8u152,點選JDK下載 3.安裝下載的JDK 4.配置系統環境變數 2.2JMeter安裝 官網下載地址:http://jmeter.apache.org/download_jmeter.cgi 下載最新JMeter3.3版本:apache-jmeter-3.3.zip  下載完成後解壓zip包 啟動JMeter 雙擊JMeter解壓路徑(apache-jmeter-3.3\bin)bin下面的jmeter.bat即可  3.測試例項 我們選取最常見的百度搜索介面: 3.1介面地址 http://www.baidu.com/s?ie=utf-8&wd=jmeter效能測試 3.2請求引數 ie:編碼方式,預設為utf-8 wd:搜尋詞 3.3返回結果 搜尋結果,我們可以通過校驗結果中是否含有搜尋詞wd來判斷本次請求成功或失敗。

4.JMeter指令碼編寫 4.1新增執行緒組 右鍵點選“測試計劃”->“新增”->“Threads(Users)”->“執行緒組”  這裡可以配置執行緒組名稱,執行緒數,準備時長(Ramp-UpPeriod(inseconds))迴圈次數,排程器等引數:  執行緒組引數詳解: 1.執行緒數:虛擬使用者數。

一個虛擬使用者佔用一個程序或執行緒。

設定多少虛擬使用者數在這裡也就是設定多少個執行緒數。

 2.Ramp-UpPeriod(inseconds)準備時長:設定的虛擬使用者數需要多長時間全部啟動。

如果執行緒數為10,準備時長為2,那麼需要2秒鐘啟動10個執行緒,也就是每秒鐘啟動5個執行緒。

 3.迴圈次數:每個執行緒傳送請求的次數。

如果執行緒數為10,迴圈次數為100,那麼每個執行緒傳送100次請求。

總請求數為10*100=1000。

如果勾選了“永遠”,那麼所有執行緒會一直髮送請求,一到選擇停止執行指令碼。

 4.DelayThreadcreationuntilneeded:直到需要時延遲執行緒的建立。

 5.排程器:設定執行緒組啟動的開始時間和結束時間(配置排程器時,需要勾選迴圈次數為永遠) 持續時間(秒):測試持續時間,會覆蓋結束時間 啟動延遲(秒):測試延遲啟動時間,會覆蓋啟動時間 啟動時間:測試啟動時間,啟動延遲會覆蓋它。

當啟動時間已過,手動只需測試時當前時間也會覆蓋它。

 結束時間:測試結束時間,持續時間會覆蓋它。

因為介面除錯需要,我們暫時均使用預設設定,待後面真正執行效能測試時再回來配置。

4.2新增HTTP請求 右鍵點選“執行緒組”->“新增”->“Sampler”->“HTTP請求”  對於我們的介面http://www.baidu.com/s?ie=utf-8&wd=jmeter效能測試,可以參考下圖填寫:  Http請求主要引數詳解: Web伺服器 協議:向目標伺服器傳送HTTP請求協議,可以是HTTP或HTTPS,預設為HTTP 伺服器名稱或IP:HTTP請求傳送的目標伺服器名稱或IP 埠號:目標伺服器的埠號,預設值為80 2.Http請求 方法:傳送HTTP請求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。

 路徑:目標URL路徑(URL中去掉伺服器地址、埠及引數後剩餘部分) Contentencoding:編碼方式,預設為ISO-8859-1編碼,這裡配置為utf-8 同請求一起傳送引數 在請求中傳送的URL引數,使用者可以將URL中所有引數設定在本表中,表中每行為一個引數(對應URL中的name=value),注意引數傳入中文時需要勾選“編碼” 4.3新增察看結果樹 右鍵點選“執行緒組”->“新增”->“監聽器”->“察看結果樹”  這時,我們執行Http請求,修改響應資料格式為“HTMLSourceFormatted”,可以看到本次搜尋返回結果頁面標題為”jmeter效能測試_百度搜索“。

  4.4新增使用者自定義變數 我們可以新增使用者自定義變數用以Http請求引數化,右鍵點選“執行緒組”->“新增”->“配置元件”->“使用者定義的變數”:  新增一個引數wd,存放搜尋詞:  並在Http請求中使用該引數,格式為:${wd}  4.5新增斷言 右鍵點選“HTTP請求”->“新增”->“斷言”->“響應斷言”  我們校驗返回的文字中是否包含搜尋詞,新增引數${wd}到要測試的模式中:  4.6新增斷言結果 右鍵點選“HTTP請求”->“新增”->“監聽器”->“斷言結果”  這時,我們再執行一次就可以看到斷言結果成功或失敗了  4.7新增聚合報告 右鍵點選“執行緒組”->“新增”->“監聽器”->“聚合報告”,用以存放效能測試報告  這樣,我們就完成了一個完整Http介面的JMeter效能測試指令碼編寫。

5.執行效能測試 5.1配置執行緒組 點選執行緒組,配置本次效能測試相關引數:執行緒數,迴圈次數,持續時間等,這裡我們配置併發使用者數為10,持續時間為60s  5.2執行測試 點選綠色小箭頭按鈕即可啟動測試,測試之前需要點選小掃把按鈕清除之前的除錯結果。

  6.分析測試報告 待效能測試執行完成後,開啟聚合報告可以看到:  聚合報告引數詳解: 1.Label:每個JMeter的element(例如HTTPRequest)都有一個Name屬性,這裡顯示的就是Name屬性的值 2.#Samples:請求數——表示這次測試中一共發出了多少個請求,如果模擬10個使用者,每個使用者迭代10次,那麼這裡顯示100 3.Average:平均響應時間——預設情況下是單個Request的平均響應時間,當使用了TransactionController時,以Transaction為單位顯示平均響應時間 4.Median:中位數,也就是50%使用者的響應時間 5.90%Line:90%使用者的響應時間 6.Min:最小響應時間 7.Max:最大響應時間 8.Error%:錯誤率——錯誤請求數/請求總數 9.Throughput:吞吐量——預設情況下表示每秒完成的請求數(RequestperSecond),當使用了TransactionController時,也可以表示類似LoadRunner的TransactionperSecond數 10.KB/Sec:每秒從伺服器端接收到的資料量,相當於LoadRunner中的Throughput/Sec 一般而言,效能測試中我們需要重點關注的資料有:#Samples請求數,Average平均響應時間,Min最小響應時間,Max最大響應時間,Error%錯誤率及Throughput吞吐量。

7.原始碼下載 至此,我們使用JMeter完成了一個完整的Http介面效能測試流程,從指令碼編寫,執行到最終結果分析。

完整的指令碼原始碼下載連結: https://pan.baidu.com/s/1eS90cVo 密碼:st15 相關文章 JMeter效能測試入門篇,超詳細 JMeter效能測試入門-不同型別執行緒組的使用 【轉載】LoadRunner效能測試入門教程詳解 SoapUI功能測試、效能測試入門 效能測試入門(一):效能測試中的各項指標告訴我們什麼 效能測試入門(二):做個最簡單的效能測試 【轉載】LoadRunner性能測試入門教程詳解 JMeter效能測試,完整入門篇 JMeter效能測試,完整入門篇(自己做測試了) JMeter效能測試-安裝與入門 原 jmeter效能測試---登入百度進行搜尋 Jmeter效能測試實踐--登入場景設計 JMeter壓力測試併發測試(入門篇) JMeter效能測試進階案例實戰JMeter深入進階效能測試體系各領域企業實戰 JmeterWeb性能測試入門(三):Jmeter常用組件說明 分類導航 HTML/CSS HTML教程 HTML5教程 CSS教程 CSS3教程 JavaScript JavaScript教程 jQuery教程 Node.js教程 服務端 Python教程 Python3教程 Linux教程 Docker教程 Ruby教程 Java教程 JSP教程 C教程 C++教程 Perl教程 Go教程 PHP教程 正則表達式 資料庫 SQL教程 MySQL教程 PostgreSQL教程 SQLite教程 MongoDB教程 Redis教程 Memcached教程 行動端 IOS教程 Swift教程 Advertisement 三度辭典 Copyright©2016-2021IT閱讀  Itread01.comAllRightsReserved. 0.001291036605835



請為這篇文章評分?