反馈已提交

网络繁忙

资源调度线程熔断

  • 文档创建者:Carly
  • 历史版本:18
  • 最近更新:Carly 于 2025-09-30
  • 概述

    版本

    报表服务器版本
    功能变更
    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后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持