yb課堂之壓力測試工具Jmeter5.X 實戰《二十二》


目前常用的測試工具對比

LoadRunner

  • 性能穩定,壓測結果及細粒度大,可以自定義腳本進行壓力,但是太過於重大,功能比較繁多

Apache AB(單接口壓測最方便)

  • 模擬多線程並發請求,ab命令對發出負責的計算機要求很低,既不會占用很多CPU,也不會占用太多的內存,但卻給目標的服務器造成巨大的負載,簡單DDOS攻擊等

Webbench

  • webbench首先fork出多個子進程,每個紫禁城都循環做web訪問測試,子進程把訪問的結果通過pipe告訴父進程,父進程做最終的統計結果

Jmeter

  • 開源免費,功能強大,在還聯網公司普遍使用
  • 壓測不同的協議和應用
    • Web-》HTTP,HTTPS(java、NodeJS、PHP、ASP.NET,...)
    • SOAP / REST Webservices
    • FTP
    • Database via JDBC
    • LDAP 輕量目錄訪問協議
    • Message-oriented middleware (MOM) via JMS
    • Mail - SMTP(S),POP3(s) and IMAP(S)
    • TCP等等
  • 使用從場景及優點
    • 功能測試
    • 壓力測試
    • 分布式壓力測試
    • 純java開發
    • 上手容易,高性能
    • 提供測試數據分析
    • 各種報表數據圖形展示

Jmeter壓測工具本地快速安裝

  • 需要安裝jdk8 以上
  • 官網地址:https://jmeter.apache.org/
  • 文檔地址:

下載

我已經上傳至百度雲

鏈接: https://pan.baidu.com/s/1Cjyxo1otjKY97Mplo2m2pw  密碼: 75w9

目錄講解和漢化操作

bin:核心可執行文件,包含配置
    jmeter.bat:windows啟動文件
    jmeter:mac或者linux啟動文件
    jmeter-server:mac或者linux分布式壓測使用的啟動文件
    jmeter-server.bat:windows分布式壓測使用的啟動文件
    jmeter.properties:核心配置文件
extras:插件擴展的包

lib:核心的依賴包

Jmetera語言版本中英文切換

  切換中文顯示的時候,有坑,請看我另一篇博客:點我直達

GUI菜單欄主要組件

添加->threads->線程組(控制總體並發)

線程數:虛擬用戶數。一個虛擬用戶占用一個進程或線程

准備時長(Ramp-Up Period(in seconds)):全部線程啟動的時長,比如100個線程,20秒,則表示20秒內100個線程都要啟動完成,每秒啟動5個線程

循環次數:每個線程發送的次數,例如值為5,100個線程,則會發送500次請求,可以勾選永遠循環

線程組->添加Sampler(采樣器)->Http(一個線程組下面可以增加幾個Sampler)

名稱:采樣器名稱
注釋:對這個采樣器的描述
wbe服務器:
    默認協議是http
    默認端口是80
    服務器名稱或ip:請求的目標服務器名稱或ip地址
路徑:服務器URL

查看測試結果

新增聚合報告:線程組->添加->監聽器->聚合報告(Aggregate Report)

lable:sampler的名稱
Samples(樣本):一共發出多少請求,例如10個用戶,循環10次,則是100
Average(平均值):平均響應時間
Median(中位數):中位數,也就是50%用戶的響應時間

90% Line:90% 用戶的響應不會超過該時間 (90% of the samples took no more than this time.The remaining samples at least as long this)
95% Line:95%用戶的響應不會超過該時間
99% Line:99%用戶的響應不會超過該時間
min(最小值):最小響應時間
max(最大值):最大響應時間

Error%(異常):錯誤的請求的數量/請求的總數
Throughput(吞吐量):吞吐量--默認情況下表示每秒完成的請求數(Request per Second)可類比為qps、tps KB、Sec:每秒接收數據量

驗證

  可以看出,單機並發差不多在2萬5左右,嘻嘻,下面貼出我的電腦配置

當前測壓電腦配置
CPU:I7 9750
內存16G

  注:接口的性能影響因素很多,機器的配置如CPU、內存、當前負載情況等,還有網絡帶寬因素影響,只能盡量減少影響因素


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM