反饋已提交

網絡繁忙

資源調度執行緒熔斷

概述

版本

報表伺服器版本
功能變更
11.0
-
11.0.32觸發邏輯和提示優化
11.0.34

新增配置項「報表限流臨界值

http執行緒阻擋功能邏輯優化

11.5.3新增配置庫執行緒熔斷功能
11.5.4新增配置庫、檔案服務、狀態服務等組件執行緒限流功能

功能簡介

在使用者存取工程資源時,可能會出現執行緒阻擋等問題,而這些問題往往會導致工程當機。

帆軟提供「資源調度熔斷」功能,對執行緒阻擋問題提供兜底故障容許度策略,降低當機風險。

解決http執行緒阻擋

應用場景:對於 http 執行緒池中的 FineReport 報表類執行緒任務,在不同的執行緒負載狀態下根據逾時和執行緒阻擋狀況,進行相關的執行緒中斷,終止任務,避免 http 執行緒被佔滿而當機。

版本要求:11.0.34 及之後版本 FineReport 支援

如何啟動功能

1)管理者登入帆軟應用,點選「管理系統>系統管理>標準」

2)在「防當機專項配置」中,開啟「執行緒熔斷」開關,配置「報表限流臨界值」,儲存即可。

  • 「執行緒熔斷」為總開關,未開啟時「報表限流臨界值」配置無效

  • 「報表限流臨界值」支援使用者自訂設定,預設值為 0.5(即 50%),有效設定範圍為 0 到 1之間的小數

功能生效場景

場景
功能說明
多阻擋執行緒熔斷執行時機:每次提交報表業務時觸發檢查
判斷條件:檢查是否存在一個執行緒阻擋了超過 5個其他執行緒的情況
執行動作:當滿足條件時,系統會立即中斷該阻擋執行緒
逾時執行緒熔斷

執行時機:每處理 40 個請求時觸發檢查
判斷條件:

  • 在高負載狀態下(執行緒池使用率>80%):檢查是否存在運作時間超過 1 小時的執行緒

  • 在低負載狀態下(執行緒池使用率≤80%):檢查是否存在運作時間超過 8 小時的執行緒

執行動作:當滿足條件時,系統會中斷對應的逾時執行緒

執行緒池擴容

執行時機:每次提交報表業務時觸發檢查
判斷條件:執行緒池使用率>80%(高負載狀態)

執行動作:

  • 計算新的執行緒池容量:取"執行緒池當前容量×2"和"800"中的較小值

  • 將執行緒池容量擴容至計算得到的新值

報表執行緒限流執行時機:每次提交報表業務時觸發檢查

判斷條件:同時滿足以下條件:

  • 執行緒池使用率>80%(高負載狀態)

  • 執行緒池已達到擴容上限(即已經擴容到 800)

  • 當前報表業務請求數佔總請求數的比例 > 配置的「報表限流臨界值」

執行動作:系統將對報表業務執行緒進行限流處理

解決資料連結取數阻擋

應用場景:針對取數鏈路中的高風險場景,如資料連結異常、連結阻擋、系統執行緒資源緊張,自動監視識別風險,並在取數阻擋後進行報錯提醒、資源釋放,保護系統

版本要求:11.5.4 及之後版本 FineReport 支援

如何啟動功能

1)管理者登入帆軟應用,點選「管理系統>系統管理>標準」

2)在「防當機專項配置」中,開啟「執行緒熔斷」開關,儲存即可。

功能生效場景

場景
功能說明
取數限流

執行時機:建立連結時觸發檢查

判斷條件:同時滿足以下條件:

  • 執行緒池使用率>80%(高負載狀態)

  • 取數請求數量,超過http最大執行緒池大小的50%

執行動作:

  • 還未到達業務庫獲取連結、取數等流程的http請求進行報錯傳回

  • 提示「當前系統執行緒壓力過大,本次請求無法正常執行,請聯絡管理者檢查資料連結後重試」

取數熔斷

執行時機:建立連結時觸發檢查

判斷條件:同時滿足以下條件:

  • 執行緒池使用率>80%(高負載狀態)

  • SQL查詢取數請求數量,超過http最大執行緒池大小的50%

執行動作:

  • 篩選並中斷運作時間超過 5 分鐘的長時任務

  • 傳送警報資訊通知管理者「取數導致執行緒負載壓力過高,為防止當機已觸發以下資料連結的執行緒熔斷:xxx」

資料連結警報執行時機:建立連結時觸發檢查

判斷條件:

  • 超出該執行時長的資料連結請求,稱為「長連結」:「管理系統-智慧維運>負載管理>範本限制」中設定的sql最大執行時長(預設600s)+60s

  • 資料連結中「長連結」數量,超過該資料連結最大活動連結數80%

執行動作:

  • 傳送警報資訊通知管理者「【警報通知】尊敬的使用者,檢查到{xxx} 資料連結運作異常:當前連結資源已接近上限,可能導致該資料連結相關查詢業務延遲、失敗。請儘快檢查資料源的連結狀態,或聯絡技術支援協助排查」

  • 同一資料連結警報間隔為30分鐘,若30分鐘後仍然存在長連結過多的情況,會再次觸發警報

解決專案組件阻擋

應用場景:統計配置庫、狀態服務、檔案服務等專案組件的執行緒數量,在系統執行緒高負載後進行新請求的快速失敗報錯,提示使用者排查組件問題

如何啟動功能

1)管理者登入帆軟應用,點選「管理系統>系統管理>標準」

2)在「防當機專項配置」中,開啟「執行緒熔斷」開關,儲存即可。

功能生效場景

場景
功能說明
配置庫執行緒熔斷

11.5.3 及之後版本 FineReport 支援

判斷條件:同時滿足以下條件:

  • http執行緒池使用率>80%(高負載狀態)

  • 配置庫獲取連結執行緒數量超過http最大執行緒池大小的50%

執行動作:

中斷耗時超過1分鐘、且狀態為TIME_WAITING的執行緒

提示:當前系統執行緒壓力過大,本次請求因為獲取配置庫資料連結耗時過長,已被執行緒熔斷中斷

配置庫執行緒限流

11.5.4 及之後版本 FineReport 支援

判斷條件:同時滿足以下條件:

  • 執行緒池使用率>80%(高負載狀態)

  • 配置庫執行緒數量超過http最大執行緒池大小的50%

執行動作:

對還未執行的配置庫http請求進行報錯傳回

提示「當前系統執行緒壓力過大,本次請求無法正常執行,請聯絡管理者檢查配置資料庫後重試」

狀態服務組件限流

11.5.4 及之後版本 FineReport 支援

判斷條件:同時滿足以下條件:

  • 執行緒池使用率>80%(高負載狀態)

  • 狀態服務執行緒數量超過http最大執行緒池大小的50%

執行動作:

還未執行的狀態服務http請求進行報錯傳回

提示「當前系統執行緒壓力過大,本次請求無法正常執行,請聯絡管理者檢查狀態伺服器後重試」

檔案服務組件限流

11.5.4 及之後版本 FineReport 支援

判斷條件:同時滿足以下條件:

  • 執行緒池使用率>80%(高負載狀態)

  • 檔案服務執行緒數量超過http最大執行緒池大小的50%

  • 檔案服務類型為FTP、SFTP、S3、minio

執行動作:

對還未執行的檔案服務http請求進行報錯傳回

提示「當前系統執行緒壓力過大,本次請求無法正常執行,請聯絡管理者檢查檔案伺服器後重試」

歷史版本說明

開啟功能

如需啟動「資源調度熔斷」功能,11.0.33 及以下版本的FineReport開啟步驟不同,請根據自身情況選擇對應開啟步驟。

FineReport版本
開啟步驟
11.0.29及以下版本

需要安裝V1.4.3及以上版本資源調度熔斷插件來啟動「資源調度熔斷」功

點選下載插件:資源調度熔斷插件

設計器插件安裝方法參照:設計器插件管理

伺服器安裝插件方法參照:伺服器插件管理

注:如使用V1.4.2及以下版本的資源調度熔斷插件,可能在使用程式中出現報錯,請務必升級。

11.0.30~11.0.33版本

1)管理者登入帆軟應用,點選「管理系統>系統管理>標準」

2)在「防當機專項配置」中,開啟「執行緒熔斷」開關即可

注:FineReport從11.0.29及以下版本升級到11.0.30及以上版本後,資源調度熔斷插件會自動禁用,「執行緒熔斷」開關預設關閉,請手動開啟「執行緒熔斷」開關。

功能作用

功能開啟後,以下情況自動生效。

1)使用非同步執行緒池取代原本的http執行緒池。

2)CPU負載超過80%或Report執行緒池執行緒使用超過85%時,收信確認為執行緒高負載

執行緒高負載時,每15秒會觸發一次執行緒阻擋死鎖和長執行執行緒檢查

  • 如果有3個以上執行緒阻擋在同一個session則會觸發session關閉

  • 如果有執行緒死鎖則直接中斷死鎖的執行緒,如果存在長執行執行緒則觸發關閉

  • 執行緒被中止後,提示「當前系統記憶體壓力過大觸發系統防當機保護,已中止範本計算,請稍後重試」

附件列表


主題: 數據決策系統
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

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

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

不再提示

10s後關閉

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

反馈已提交

网络繁忙