效能堆疊

  • 最後修改時間:2026-04-23
  • 1. 概述

    1.1 版本

    維運平台版本功能變更
    V1.5.5
    -
    V1.5.7

    1)維運平台日誌管理功能拆分優

    2)對於叢集多節點工程,支援單次下載多節點日誌檔案
    3)各類日誌下載時,支援選擇服務類型,按需下載日誌

    V1.8.0分析日誌中,分析記錄列表新增展示「觸發類型」
    V1.12.01)支援手動上傳本地效能堆疊,至維運平台進行分析
    2)支援展示歷史效能堆疊生成記錄
    3)效能堆疊使用順序優化,變更為:分析>下載>生成
    V1.14.0

    維運平台監測當機,自動觸發生成日誌條件優化

    1)應用無迴應觸發時間由3分鐘優化為2分鐘

    2)新增FullGC觸發條件:5min內FullGC次數總和大於3次,且時間總和超過 50s

    V1.15.0下載日誌時,支援按需選擇日誌類型,無需全量下載,降低下載成本
    V2.0.0效能分析結果優化,新增「記憶體情況劃分」
    V2.1.0

    1)在專案不可用情況下,仍支援生成、分析、下載效能堆堆疊

    2)優化分析報表,拆分記憶體和CPU資訊,優化GC狀態展示

    V2.14.0效能分析結果優化,新增「記憶體負載情況」
    V2.20.0高 CPU 佔用觸發生成堆疊時,根據帆軟/非帆軟進程優化生成邏輯

    1.2 應用場景

    當工程出現當機或異常時:

    1)管理者需要快速生成堆疊日誌,以確定事後有辦法覆盤定位問題 。

    2)管理者需要對堆疊日誌進行分析,追蹤問題產生的根本原因,但日誌分析對管理者的技術水平要求較高 。

    3)管理者需要將堆疊日誌拿到本地自行分析,或提供給帆軟技術支援人員確認問題,但很多公司日誌獲取費時費力 。

    維運平台提供「效能堆疊」功能,支援對堆疊日誌進行快速生成、智慧分析、方便下載 。

    2024-07-15_15-15-53.png

    1.3 日誌簡介

    效能堆疊功能支援對以下堆疊日誌進行生成、分析和下載:

    日誌
    說明
    fanruan.gc.log帆軟當機日誌
    thread.txt執行緒資訊統計報表,包含所有執行緒的狀態和堆疊磁軌資訊,可幫助瞭解應用程式的執行緒使用情況,即時發現和解決執行緒問題
    histo.txt記憶體使用情況統計報表,包含物件的數量、大小、佔用空間等資訊,可幫助瞭解應用程式的記憶體使用情況,即時發現和解決記憶體泄漏等問題
    hs_err.txtJava 在運作程式中遇到錯誤時自動生成的錯誤報表檔案,包含詳細的錯誤資訊、堆疊磁軌資訊、執行緒資訊等,可幫助定位和解決程式碼問題
    top.txt

    Linux 系統 top 命令的匯出結果,包含以下三個檔案:

    • top-H.txt:執行緒資訊,含執行緒 ID、CPU 佔用率、記憶體佔用率等

    • top-sortedByCPU.txt:按 CPU 佔用率從高到低排序的進程資訊

    • top-sortedByMEM.txt:按記憶體佔用率從高到低排序的進程資訊

    gc.logJVM 的垃圾回收日誌檔案,記錄每次 GC 發生的時間、回收類型、回收前後堆記憶體變化、各階段耗時以及是否發生 Full GC 等資訊,主要用來分析記憶體使用情況、GC 頻率、停頓時間和效能問題
    safepoint.logJVM 記錄“讓所有 Java 執行緒暫停到安全點”這一程式的日誌

    用於觀察垃圾回收、偏向鎖廢除、執行緒堆疊檢查等全局操作帶來的停頓

    通常會顯示為什麼觸發暫停、讓執行緒停下來花了多久、真正執行 JVM 操作花了多久、總共暫停了多久,在排查 Java 應用偶發卡頓、延遲抖動時很有用 。

    2. 分析日誌

    應用場景:

    當工程當機後,管理者需要對當機日誌進行分析,修復工程存在的問題,防止再次發生。

    FineOps維運平台支援對jstack、histo、gc和top-H內容進行分析,幫助使用者分析錯誤堆疊並給出相關改進意見。

    2.1 自動分析維運專案

    當滿足第 4.1 節的自動生成日誌條件後,維運平台會對每個節點自動生成的堆疊日誌進行分析 。

    查看步驟:

    1)管理者登入維運平台,點選「專案管理」,選擇指定維運專案 。

    2)進入「日誌 > 效能堆疊」頁面,在「分析」模組下查看自動分析結果 。

    2.2 手動分析維運專案

    操作步驟:

    1)管理者登入維運平台,點選「專案管理」,選擇指定維運專案,進入「日誌 > 效能堆疊」頁面 。

    2)在「分析」模組下,點選「分析」按鈕,觸發該維運專案下每個節點生成堆疊日誌 。

    3)維運平台對每個節點生成的堆疊日誌進行分析,分析結果生成在分析記錄中 。

    注意事項:

    每 1 分鐘僅支援進行 1 次分析,以防頻繁觸發導致系統效能下降。若請求過於頻繁,提示「分析請求太頻繁啦,請稍等一分鐘後再重新嘗試」 。

    2.3 手動上傳日誌分析

    使用者可手動上傳本地堆疊日誌到維運平台進行分析 。

    1)準備本地堆疊日誌包

    僅支援 .zip/.tar/.gz 格式壓縮包,請務必準備標準的 jstack -l 堆疊

    日誌包大小不可超過 100MB

    2)上傳本地堆疊日誌包

    管理者登入維運平台,點選「專案管理」,選擇維運專案,點選「日誌 > 效能堆疊」 。

    在「分析」模組下,點選「上傳效能堆疊分析」按鈕,選擇本地日誌包,點選「開啟」 。

    3)生成分析報表

    維運平台根據壓縮包中的 jstack、histo、gc 和 top-H 內容生成分析報表,僅支援同時分析一個節點 。

    分析結果在新標籤頁開啟,不記錄在分析記錄中 。

    QQ图片20240715170617.png

    2.4 查看分析記錄

    操作步驟:

    1)管理者登入維運平台,點選「專案管理」,選擇維運專案,點選「日誌 > 效能堆疊」 。

    2)在「分析 > 分析記錄」模組下,以明細表形式查看該維運專案下所有手動/自動觸發的堆疊分析結果(不包括手動上傳的日誌分析記錄) 。

    分析記錄說明:

    1)明細表展示內容包括:專案名、節點名、觸發類型、操作時間、操作者、操作 IP、分析結果。若為自動觸發,操作者和操作 IP 顯示為空 。

    2)若維運專案為叢集環境,每個節點都會生成一份分析結果 。

    3)歷史記錄最多保留最近 50 條,支援單條刪除、批量刪除和清空全部 。

    4)點選分析記錄中的「查看」按鈕,即可在新標籤頁開啟具體的分析結果 。

    QQ图片20240715165043.png

    分析結果說明: 效能堆疊分析結果分為兩個部分:

    記憶體狀態詳情:包含 GC 狀態和記憶體狀態 。


    2024-07-15_16-52-48.png

    執行緒 CPU 狀態詳情:展示執行緒 CPU 使用情況 。

    2024-07-15_16-54-18.png


    3. 下載日誌

    應用場景:

    當工程當機後,管理者需要將當機日誌拿到本地自行分析,或提供給帆軟技術支援人員,幫助確認工程存在的問題,防止再次發生。

    操作步驟:

    序號操作步驟注意事項
    1

    管理者登入維運平台,點選「專案管理」,選擇維運專案

    點選「日誌>效能堆疊」

    2選擇時間範圍

    可選範圍:7天前~當前日期,所選時間跨度不可超過2天(48小時)

    預設時間:2小時前~當前時間

    3選擇服務類型

    支援類型:BI、FR

    可選範圍:所選時間記憶體在的服務類型,預設全選

    注意事項:

    1)非容器化維運專案不支援選擇服務類型

    2)如不存在任一類型,則不出現該選項

    4選擇節點

    可選範圍:所選維運專案中的所有節點,預設全選

    5選擇需下載的日誌

    支援類型:

    支援下載第 4 章生成的日誌,包括 fanruan.gc.log、thread.txt、histo.txt、hs_err.txt、top.txt

    注意事項:

    1)如不存在某種類型的日誌,則不支援下載該類型日誌

    2)維運平台部署且已安裝 ElasticSearch 組件的專案,不支援單獨選擇日誌類型,直接全量下載

    6點選「下載」,生成維運日誌檔案到本地電腦

    1)若檔案大小超過 5GB,則無法匯出,提示「以下日誌大小超過上限(5GB),不支援下載:xxx」

    2)若該類型日誌檔案不存在,則無法匯出,提示「以下日誌不存在:xxx」

    3)日誌下載時需要進行壓縮,若等待時間過長,可點選「取消下載」按鈕停止下載

    4)下載的檔案解壓後,按照「節點 - 日期 - 服務類型 - 日誌類型」結構存放

    4. 生成日志

    應用場景:

    當工程當機或出現異常時,堆疊日誌可以幫助管理者快速定位問題所在的程式碼 。

    當工程出現效能問題(如回應時間過長或CPU佔用過高)時,堆疊日誌可以幫助管理者理解程式的執行路徑,找到可能的效能瓶頸 。

    當工程出現記憶體問題時,histo日誌可以幫助管理者快速地鎖定問題方向,追蹤問題產生的根本原因 。

    維運平台支援手動/自動生成堆疊和histo日誌 。

    4.1 自動觸發

    1)觸發自動生成日誌

    以下情況,均會觸發自動生成日誌。

    情況
    說明
    當機觸發生成日誌

    當該維運專案出現以下情況時,自動觸發生成日誌

    CPU佔用超過80%(主要由帆軟應用fr、fdl、bi-web、bi-worker導致):生成堆疊和top日誌

    CPU佔用超過80%(主要由伺服器中其他非帆軟進程導致):生成top日誌

    發生超過30S的GC(fr、fdl、bi-web、bi-worker、bi-master):生成堆疊和histo

    應用2分鐘無回應(fr、fdl、bi-web、bi-worker、bi-master):生成堆疊和histo

    執行緒池用量達到85%(fr、fdl、bi-web、bi-worker):生成堆疊

    連續FullGC後依舊負載較高(連續5次FullGC且負載分大於100)(fr、fdl、bi-web、bi-worker、bi-master):生成堆疊和histo

    5min內FullGC次數總和大於3次,且時間總和超過 50s(fr、fdl、bi-web、bi-worker、bi-master):生成堆疊和histo

    使用者可預設自動生成的日誌類型

    手動分析日誌觸發管理者登入維運平台,點選「專案管理」,選擇指定維運專案。

    進入「日誌>效能堆疊」頁面,當手動點選「分析」按鈕時,會先自動觸發生成一份堆疊日誌。

    2)「自動生成」的日誌

    當滿足上文條件後,自動觸發該維運專案下每個節點生成堆疊日誌。

    根據專案部署方式和所選服務類型,日誌生成在不同位置

    部署方式
    服務類型

    維運平台部署的專案fr有問題組件所在伺服器的專案掛載目錄fanruanxxx/fr/tomcat_logs/FineLog/日期資料夾內
    fdl有問題組件所在伺服器的專案掛載目錄fanruanxxx/fdl/tomcat_logs/FineLog/日期資料夾內
    bi6有問題組件所在伺服器的專案掛載目錄fanruanxxx/bi6/tomcat_logs/FineLog/日期資料夾內
    bi-web有問題組件所在伺服器的專案掛載目錄fanruanxxx/bi-web/tomcat_logs/FineLog/日期資料夾內
    bi-engine-master有問題組件所在伺服器的專案掛載目錄fanruanxxx/bi-master/polars/logs/FineLog/日期資料夾內
    bi-engine-worker有問題組件所在伺服器的專案掛載目錄fanruanxxx/bi-engine-worker_x/polars/monitor/logs/FineLog/日期資料夾內
    bi-engine-worker-monitor有問題組件所在伺服器的專案掛載目錄fanruanxxx/bi-engine-worker_x/polars/monitor/logs/FineLog/日期資料夾內
    非維運平台部署的專案-

    當前維運專案有問題的節點所在伺服器

    %Tomcat%/logs/FineLog/日期資料夾內

    4.2 手動生成

    1)管理者登入維運平台,點選「專案管理」,選擇維運專案,點選「日誌>效能堆疊」。

    2)在「生成>手動生成」模組下,選擇服務類型。

    • 支援類型:fr、fdl、bi-web、bi-engine-master、bi-engine-worker、bi-engine-worker-monitor

    • 可選範圍:當前維運專案所有節點中存在的服務類型;非容器化維運專案不支援選擇服務類型;如不存在任一類型,則不出現該選項。

    3)點選「生成」,觸發該維運專案下每個節點生成堆疊日誌。

    4)生成的檔案位置為:

    根據專案部署方式和所選服務類型,日誌生成在不同位置

    部署方式
    服務類型

    維運平台部署的專案fr有問題組件所在伺服器的專案掛載目錄fanruanxxx/fr/tomcat_logs/FineLog/日期資料夾內
    fdl有問題組件所在伺服器的專案掛載目錄fanruanxxx/fdl/tomcat_logs/FineLog/日期資料夾內
    bi6有問題組件所在伺服器的專案掛載目錄fanruanxxx/bi6/tomcat_logs/FineLog/日期資料夾內
    bi-web有問題組件所在伺服器的專案掛載目錄fanruanxxx/bi-web/tomcat_logs/FineLog/日期資料夾內
    bi-engine-master有問題組件所在伺服器的專案掛載目錄fanruanxxx/bi-master/polars/logs/FineLog/日期資料夾內
    bi-engine-worker有問題組件所在伺服器的專案掛載目錄fanruanxxx/bi-engine-worker_x/polars/monitor/logs/FineLog/日期資料夾內
    bi-engine-worker-monitor有問題組件所在伺服器的專案掛載目錄fanruanxxx/bi-engine-worker_x/polars/monitor/logs/FineLog/日期資料夾內
    非維運平台部署的專案-

    當前維運專案有問題的節點所在伺服器

    %Tomcat%/logs/FineLog/日期資料夾內

    注意事項:

    每 1 分鐘僅支援生成 1 次堆疊,以防頻繁觸發導致系統效能下降 。

    4.3 生成記錄

    在「生成 > 生成記錄」模組下,以明細表形式展示所有自動/手動觸發的歷史生成記錄 。

    包含以下資訊:節點名、匯出內容、匯出開始時間、匯出時長、觸發類型、是否成功、失敗原因 。

    附件列表


    主題: 專案管理
    • 有幫助
    • 沒幫助
    • 只是瀏覽

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    獲取幫助
    線上支援
    獲取專業技術支援,快速幫助您解決問題
    工作日9:00-12:00,13:30-17:30在线
    頁面反饋
    針對當前網頁的建議、問題反饋
    售前咨詢
    業務咨詢
    電話:0933-790886或 0989-092892
    郵箱:taiwan@fanruan.com
    頁面反饋
    *問題分類
    不能為空
    問題描述
    0/1000
    不能為空

    反馈已提交

    网络繁忙