日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JMeter性能测试,完整入门篇(自己做测试了)

發布時間:2024/9/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JMeter性能测试,完整入门篇(自己做测试了) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文轉自:https://blog.csdn.net/lovesoo/article/details/78579547

Apache JMeter是一款純java編寫負載功能測試和性能測試開源工具軟件。相比Loadrunner而言,JMeter小巧輕便且免費,逐漸成為了主流的性能測試工具,是每個測試人員都必須要掌握的工具之一。

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

運行環境為Windows 10系統,JDK版本為1.8,JMeter版本為3.3。

2. Jmeter安裝

2.1 JDK安裝

由于Jmeter是基于java開發,首先需要下載安裝JDK (目前JMeter只支持到Java 8,尚不支持 Java 9)?
1. 官網下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html?
2. 選擇Java SE 8u151/ 8u152,點擊JDK下載?

3. 安裝下載的JDK?
4. 配置系統環境變量

2.2 JMeter安裝

  • 官網下載地址:http://jmeter.apache.org/download_jmeter.cgi
  • 下載最新JMeter 3.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-Up Period(in seconds))循環次數,調度器等參數:?
    ?
    線程組參數詳解:?
    1. 線程數:虛擬用戶數。一個虛擬用戶占用一個進程或線程。設置多少虛擬用戶數在這里也就是設置多少個線程數。?
    2. Ramp-Up Period(in seconds)準備時長:設置的虛擬用戶數需要多長時間全部啟動。如果線程數為10,準備時長為2,那么需要2秒鐘啟動10個線程,也就是每秒鐘啟動5個線程。?
    3. 循環次數:每個線程發送請求的次數。如果線程數為10,循環次數為100,那么每個線程發送100次請求。總請求數為10*100=1000 。如果勾選了“永遠”,那么所有線程會一直發送請求,一到選擇停止運行腳本。?
    4. Delay Thread creation until needed:直到需要時延遲線程的創建。?
    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中去掉服務器地址、端口及參數后剩余部分)?
    Content encoding :編碼方式,默認為ISO-8859-1編碼,這里配置為utf-8
  • 同請求一起發送參數?
    在請求中發送的URL參數,用戶可以將URL中所有參數設置在本表中,表中每行為一個參數(對應URL中的 name=value),注意參數傳入中文時需要勾選“編碼”
  • 4.3 添加察看結果樹

    右鍵點擊“線程組” -> “添加” -> “監聽器” -> “察看結果樹”?
    ?
    這時,我們運行Http請求,修改響應數據格式為“HTML Source Formatted”,可以看到本次搜索返回結果頁面標題為”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(例如 HTTP Request)都有一個 Name 屬性,這里顯示的就是 Name 屬性的值?
    2. #Samples:請求數——表示這次測試中一共發出了多少個請求,如果模擬10個用戶,每個用戶迭代10次,那么這里顯示100?
    3. Average:平均響應時間——默認情況下是單個 Request 的平均響應時間,當使用了 Transaction Controller 時,以Transaction 為單位顯示平均響應時間?
    4. Median:中位數,也就是 50% 用戶的響應時間?
    5. 90% Line:90% 用戶的響應時間?
    6. Min:最小響應時間?
    7. Max:最大響應時間?
    8. Error%:錯誤率——錯誤請求數/請求總數?
    9. Throughput:吞吐量——默認情況下表示每秒完成的請求數(Request per Second),當使用了 Transaction Controller 時,也可以表示類似 LoadRunner 的 Transaction per Second 數?
    10. KB/Sec:每秒從服務器端接收到的數據量,相當于LoadRunner中的Throughput/Sec

    一般而言,性能測試中我們需要重點關注的數據有: #Samples 請求數,Average 平均響應時間,Min 最小響應時間,Max 最大響應時間,Error% 錯誤率及Throughput 吞吐量。

    7. 源碼下載

    至此,我們使用JMeter完成了一個完整的Http接口性能測試流程,從腳本編寫,執行到最終結果分析。

    完整的腳本源碼下載鏈接:?https://pan.baidu.com/s/1eS90cVo?密碼: st15

    來源:https://blog.csdn.net/u012111923/article/details/80705141

    總結

    以上是生活随笔為你收集整理的JMeter性能测试,完整入门篇(自己做测试了)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。