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/
  • 文檔地址:

下載

我已經上傳至百度雲html

連接: 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語言版本中英文切換

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

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)linux

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左右,嘻嘻,下面貼出個人電腦配置web

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

  注:接口的性能影響因素不少,機器的配置如CPU、內存、當前負載狀況等,還有網絡帶寬因素影響,只能儘可能減小影響因素apache

相關文章
相關標籤/搜索