91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jmeter學習指南之生成html性能結果報告

發布時間:2020-08-04 18:24:03 來源:ITPUB博客 閱讀:209 作者:testingbang 欄目:移動開發

一、前言

印象中,jmeter在圖表展示方面是比較弱的,需要依賴各種插件才能展示需要的圖表,而且界面還很土!

終于,在jmeter3.0版本推出了一個很重要的新功能,就是能夠自動生成html性能圖表,功能相當強大!

我們先來看一眼主界面:

jmeter學習指南之生成html性能結果報告

這里只放兩張圖,其它還有各種性能指標的圖表,就不一一展示了。

二.功能簡介

JMeter3.0提供一個用于生成HTML頁面格式圖形化報告的擴展模塊。該模塊支持通過兩種方式生成多維度圖形化測試報告:

在JMeter性能測試結束時,自動生成本次測試的HTML圖形化報告

使用一個已有的結果文件(如jtl、csv文件)來生成該次結果的HTML圖形化報告

其默認提供的度量維度包括:

  • APDEX(Application Performance Index)指數

  • 聚合報告:類似于UI上的  「Aggregate Report」

  • Errors報告:展示不同錯誤類型的數量以及百分比

  • 響應時間變化曲線: 展示平均響應時間隨時間變化情況,類似于JMeter Plugins在UI上的*jp@gc - Response Times Over Time*

  • 數據吞吐量時間曲線:展示每秒數據吞吐量隨時間變化的情況,類似于JMeter Plugins在UI上的*jp@gc - Bytes Throughput Over Time*

  • Latency time變化曲線:展示Latency time隨時間變化的情況,類似于JMeter Plugins在UI上的*jp@gc - Response Latencies Over Time*

  • 每秒點擊數曲線:類似于JMeter Plugins在UI上的*jp@gc - Hits per Second*

  • HTTP狀態碼時間分布曲線:展示響應狀態碼隨時間的分布情況,類似于JMeter Plugins在UI上的*jp@gc - Response Codes per Second*

  • 事務吞吐量時間曲線(TPS):展示每秒處理的事務數隨時間變化情況,類似于JMeter Plugins在UI上的*jp@gc - Transactions per Second*

  • 平均響應時間與每秒請求數的關系圖:展示平均響應時間與每秒請求數(可以理解為QPS)的關系

  • Latency time與每秒請求數的關系圖:展示Latency time與每秒請求數的關系

  • 響應時間百分位圖:響應時間的百分位分布圖

  • 活動線程數變化曲線:展示測試過程中活動線程數隨時間變化情況

  • 平均響應時間與線程數的關系圖:展示平均響應時間與線程數的關系,類似于JMeter Plugins在UI上的*jp@gc - Response Times vs Threads*

  • 柱狀響應時間分布圖:展示落在各個平均響應時間區間的請求數情況

注1:Latency time沒有翻譯成中文,這里對其計算方式做注解:

- Latency time = 接收到響應的第一個字節的時間點 - 請求開始發送的時間點

- 響應時間(JMeter術語中的Elapsed time) = 接收完所有響應內容的時間點 - 請求開始發送的時間點

注2:Apdex 標準從用戶的角度出發,將對應用響應時間的表現,轉為用戶對于應用性能的可量化為范圍為 0-1 的滿意度評價。。

Apdex

性能指數,Apdex(Application Performance Index)是一個國際通用標準,Apdex 是用戶對應用性能滿意度的量化值。它提供了一個統一的測量和報告用戶體驗的方法,把最終用戶的體驗和應用性能作為一個完整的指標進行統一度量。下圖表示為通用用戶滿意度區域,0代表沒有滿意用戶,1則代表所有用戶都滿意。實際業務系統開發過程中,1是團隊的追求目標。

若所有請求的Apdex值都接近1,說明用戶滿意度優秀,也從側面說明了服務器響應速度快。

通常而言,最低要求超過0.5,當然項目組可設定具體需求。

三.快速入門

1.確認基本配置

在jmeter.properties或者user.properties確認如下配置項:

jmeter.save.saveservice.bytes = true

jmeter.save.saveservice.label = true

jmeter.save.saveservice.latency = true

jmeter.save.saveservice.response_code = true

jmeter.save.saveservice.response_message = true

jmeter.save.saveservice.successful = true

jmeter.save.saveservice.thread_counts = true

jmeter.save.saveservice.thread_name = true

jmeter.save.saveservice.time = true

# the timestamp format must include the time and should include the date.

# For example the default, which is milliseconds since the epoch: 

jmeter.save.saveservice.timestamp_format = ms

# Or the following would also be suitable

jmeter.save.saveservice.timestamp_format = yyyy/MM/dd HH:mm:ss

如果希望在Errors報告中展示更詳細數據,需要確保如下配置

jmeter.save.saveservice.assertion_results_failure_message = true

如果使用了事務控制器(Transaction Controller),確認Generate parent sample為未勾選狀態

2.生成報告

a. 在壓力測試結束時同時自動生成報告

基本命令格式:

jmeter -n -t <test JMX file> -l <test log file> -e -o <Path to output folder>

樣例:

jmeter -n -t F:PerformanceTestTestCasescriptgetToken.jmx -l testLogFile -e -o ./output

參數:

-n :以非GUI形式運行Jmeter

-t :source.jmx 腳本路徑

-l :運行結果保存路徑(.jtl或.csv) ---這里后綴可以是jtl或csv,但文件內容格式必須要是csv格式

-e :在腳本運行結束后生成html報告

-o :保存html報告的路徑, 此文件夾必須為空或者不存在

b. 使用已有的壓力測試結果日志文件生成報告

基本命令格式:

jmeter -g <log file> -o <Path to output folder>

樣例:

jmeter -g D:apache-jmeter-3.0bintestLogFile -o ./output

參數:

-g :specifies the existing result file   指定已存在的結果文件

以上兩個樣例都會在apache-jmeter-3.0binoutput目錄下產生如下文件(夾):

jmeter學習指南之生成html性能結果報告

用瀏覽器打開index.html文件,即可查看各種圖形化報告。

注:在3.0版本,由于源碼中字符編碼的問題,可能會遇到生成的報告中,中文標簽展示為亂碼的問題,需要修改源碼中的讀取報告的編碼格式。在3.1版本中,該問題已修復,所以建議選擇高版本的jmeter。

四.自定義配置

JMeter3.0在bin目錄新增了reportgenerator.properties文件保存了所有關于圖形化HTML報告生成模塊的默認配置,要變更配置,建議不要直接編輯該文件,而是推薦在user.properties中去配置和覆蓋。

1.總體配置

總體配置都是以jmeter.reportgenerator.為前綴,如:

jmeter.reportgenerator.overall_granularity=60000

overall_granularity:定義采樣點粒度,默認為60000ms,通常在穩定性以外的測試中,我們可能需要定義更細的粒度,比如1000ms,我們可以在user.properties文件末尾添加如下配置:

# Change this parameter if you want to change the granularity of over time graphs.

jmeter.reportgenerator.overall_granularity=6000

report_title:定義報告的標題,我們可能需要將標題定義為實際測試項名稱

apdex_satisfied_threshold:定義Apdex評估中滿意的閾值(單位ms)

apdex_tolerated_threshold: 定義Apdex評估中可容忍的閾值

Apdext = (Satisfied Count + Tolerating Count / 2) / Total Samples

另外,在jmeter.properties中,有關于集合報告中的三個百分位的默認值:

aggregate_rpt_pct1 : Defaults to 90

aggregate_rpt_pct2 : Defaults to 95

aggregate_rpt_pct3 : Defaults to 99

可以在user.properties中對其進行覆蓋,如:aggregate_rpt_pct1 = 70,效果如下:

jmeter學習指南之生成html性能結果報告 jmeter學習指南之生成html性能結果報告

2.圖表配置

每個圖表配置都是以jmeter.reportgenerator.graph.<圖表名稱>.為前綴。

classname 圖表的實現類,如果有自己定制的實現,將該配置的值寫為自定義實現類的類名

property.set_granularity 設置圖標的采樣點粒度,不配置時默認使用總體配置中的粒度設置

3.輸出配置

輸出配置都以jmeter.reportgenerator.exporter為前綴。

property.output_dir 配置默認的報告輸出路徑。在命令行可以用-o選項來設置特定的路徑覆蓋該配置。

html.series_filter 用于過濾展示內容。如在user.properties添加如下配置:

jmeter.reportgenerator.exporter.html.series_filter=(^Login)(-success|-failure)?

這樣配置之后,最后的報告只展示名為Login這個取樣器的數據。該配置包含兩部分,(-success|-failure)?是Transactions per second圖表所依賴的配置。前面部分接受一個正則表達式用來過濾。

4.報告定制

JMeter的HTML報告生成時是使用了固定的模板,模板文件路徑為./bin/report-template。

進入該目錄可以看到報告的每個頁面都有一個.fmkr模板文件,包括index.html.fmkr和./content/pages路徑下的幾個文件。通過查看這些模板文件,就可以知道怎樣去進行報告的輕度定制,比如將一些文本修改得更易懂,或者修改為中文等

頁面的title

默認為"Apache JMeter Dashboard"

可以由reportgenerator.properties中的jmeter.reportgenerator.report_title來統一定義,這種方式就是所有頁面的title都使用同一個。

也可以直接修改對應的.fmkr文件中的title標簽中雙引號內的值,如<title>${reportTitle!"想要設置的title"}</title>,這中方式可以為每個頁面單獨定義title

圖表的名稱

當前版本下,各圖表的名稱是直接在模板文件中定義,要修改也是直接修改模板文件中對應元素的值即可

如要修改Transactions Per Second圖表的名稱,可以直接在./content/pages/Throughput.html.fmkr文件中修改,效果如下圖

jmeter學習指南之生成html性能結果報告

頁面的其他各元素也可以用相同的方法進行定制

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

九寨沟县| 肥东县| 雷波县| 安溪县| 合阳县| 酒泉市| 皋兰县| 夏河县| 荥经县| 宜宾市| 涪陵区| 德安县| 华亭县| 友谊县| 永胜县| 富阳市| 紫金县| 苍南县| 婺源县| 呈贡县| 和平区| 连城县| 区。| 昌平区| 体育| 辽源市| 新野县| 崇州市| 开阳县| 石门县| 全州县| 临武县| 新乡县| 长泰县| 太保市| 毕节市| 浙江省| 商洛市| 婺源县| 桐梓县| 扶余县|