1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
11.0 | - |
11.0.2 | 1)内存会话:新增「最近访问时间」字段 2)模板限制:模板限制增强插件功能内置 |
11.0.4 | 1)命名优化
2)负载监控功能优化
3)内存会话功能优化
4)智能检测功能优化
|
11.0.33 | 新增「用户会话」功能 |
1.2 功能简介
负载管理包括负载、内存和 CPU 利用率的实时监控和预警,当负载达到指定的瓶颈值时触发短信、邮件、消息等的提醒。
此外还支持智能控制会话的存活、清除、模板限制、生命周期等,保障服务器的稳定运行。如下图所示:
注: WebSphere8.5 服务器部署 或 内置JDK11的设计器 ,不支持使用负载管理功能。
进入负载管理界面会提示「技术升级中,设计器内置的服务器暂不支持负载管理功能,如使用负载管理功能请使用服务器部署方式」。
2. 负载监控
负载监控包括「实时负载」和「智能预警」两部分。
2.1 实时负载
「实时负载」功能通过直观的图表展示系统在过去半小时内的负载、内存利用率和 CPU 利用率,帮助用户快速了解系统运行状态。
支持自定义开关,默认处于关闭状态,用户可根据需求灵活启用或禁用。
负载监控是计算得出的服务器实际压力情况,内存与CPU监控仅代表客观状态,无法准确体现服务器压力情况,仅供参考。
信息 | 说明 |
---|---|
负载 | 由于 JVM 的垃圾回收(GC)机制会动态调整内存使用情况,单纯依赖内存使用率来评估 JVM 负载往往无法准确反映其真实状态。 为了更精确地衡量 JVM 的负载情况,帆软引入了「负载分」这一指标。 通过 GC 回调机制获取详细的 GC 数据,负载分能够全面评估 JVM 在不同状态下的负载情况,从而提供更准确的服务器压力情况。 |
内存利用率 | 内存利用率 = 当前使用的内存 / 最大可用内存
注:这里的「内存总量」并非指服务器的物理内存总量,而是特指服务器为工程组件分配的可使用内存总量。请避免与服务器整体内存资源混淆。 |
CPU利用率 | 采集时刻的 CPU 使用率 |
2.2 智能预警
当系统检测到负载状态过高时,「智能预警」功能可通过短信、平台消息、邮件等方式及时通知管理员,以便管理员解决性能隐患。
说明 | |
---|---|
启用智能预警 | 智能预警支持自定义开关,默认处于关闭状态,用户可根据需求灵活启用或禁用 操作步骤: 1)管理员登录帆软应用,点击「管理系统>智能运维>负载管理>负载监控」。 2)开启「智能预警」功能,勾选预警方式,点击「保存」。 预警方式说明: |
触发预警 | 触发条件: 当系统在连续三次 Full GC 后,老年代内存使用率均保持在 90% 以上时,将触发智能预警 时间间隔限制: 为确保预警通知的有效性,两次预警之间的时间间隔不得少于 5 分钟。若在间隔时间内再次满足触发条件,系统将不会重复发送通知。 例如:14:00 满足触发条件,系统发送预警通知。14:03 再次满足触发条件,但由于距离上一次通知时间不足 5 分钟,系统不会发送新的通知。 |
预警通知 | 通知内容:智能预警通知内容为固定格式,不支持自定义 您好,#webname#系统#clustername#当前负载状态过高,可能存在宕机风险,请及时关注。建议使用管理系统-智能运维-云端运维功能分析当前系统存在的性能问题。
通知示例: 1)短信提醒 2)平台消息 3)邮件提醒 |
3. 内存会话
一个用户在平台预览目录中的一张模板,即为一个内存会话。
注:「内存会话」与「用户会话」的区别
例如,小明打开了3个目录模板,在「内存会话」中会按照模板显示3个会话信息,在「用户会话」中会按照用户显示1个会话信息
3.1 内存会话指标卡
指标 | 说明 |
---|---|
存活会话数 | 当前存活着的内存会话数量 |
内存占用比例 | 已用内存占比 |
近10分钟内新增会话数 | 近10分钟内,新增的内存会话数量 |
近10分钟内结束会话数 | 近10分钟内,结束的内存会话数量 |
3.2 内存会话明细表
1)展示明细
内存会话明细表中,展示当前工程存活的所有会话清单。
支持搜索模板名称进行筛选。
信息 | 说明 |
---|---|
模板名称 | 模板在工程webroot/WEB-INF/reportlets目录中的存放位置和文件名 |
开始时间 | 内存会话的开始时间,精确到秒 内存会话明细表默认按照「开始时间」升序排列 |
最近访问时间 | 用户对当前会话做刷新操作的最近一次时间,精确到秒 支持按照最近访问时间排序 注:11.0.2 及以上版本的工程,新增「最近访问时间」信息 |
内存大小 | 该会话占用的内存,单位KB 支持按照内存大小排序 注:11.0.4 之前版本的工程,若模板触发了「模板限制」,会话内存大小会显示为 0kb 。11.0.4 及之后版本正常显示 |
操作 | 用户对该会话进行的操作 例如填报预览、分页预览等 |
用户 | 发起该会话的用户 展示用户在平台中的用户名和姓名 |
2)结束会话
支持选中会话,手动强制结束会话 。
勾选需要结束的会话,点击「结束会话」即可。如下图所示:
4. 用户会话
一个用户在一台设备的一个浏览器内登录,即为一个用户会话。
用户会话功能仅支持超级管理员使用。
注:「内存会话」与「用户会话」的区别
例如,小明打开了3个目录模板,在「内存会话」中会按照模板显示3个会话信息,在「用户会话」中会按照用户显示1个会话信息
1)展示信息
用户会话明细表中,展示当前工程存活的所有用户会话清单。
一个用户可能存在多条用户会话,因为该用户在不同设备/浏览器同时登录,它们的IP、设备等信息不同。
用户会话每分钟自动更新一次,管理员可通过手动刷新浏览器窗口即时获得最新会话信息。
管理员可根据用户名、IP、登录方式筛选指定用户会话。
信息 | 说明 |
---|---|
用户 | 发起会话的用户 展示用户在平台中的用户名 |
IP | 用户登录时的IP地址 |
设备 | 用户登录时的设备类型 |
登录方式 | 默认登录 跨域登录 远程设计第三方登录 移动端登录 |
登录时间 | 会话的开始时间,精确到秒 用户会话明细表支持按照「登录时间」升序/降序排列 |
2)结束会话
支持终止指定用户的会话。
可点击指定用户会话后的「强制退出」按钮,根据提示确定后,该用户在指定设备端的登录状态将被踢出。
可批量勾选多个用户会话,点击「强制退出」按钮,根据提示确定后,这些用户在指定设备端的登录状态将被踢出。
5. 模板限制
为了提升系统稳定性并防止因模板内部计算逻辑过于复杂而导致的系统宕机风险,我们引入了全面的模板限制功能。该功能通过多维度控制模板的使用,确保系统资源得到合理分配和高效利用。
1)多维度的模板限制机制:支持对数据鬼母、模板复杂度、SQL执行时长、Excel 导入、记录提交数量等进行多维度限制。
2)灵活的配置策略:对所有模板进行全局性限制, 针对特定模板进行个性化限制,满足不同业务场景下的需求。
详情请参见:模板限制
6. 智能释放
6.1 报表内存智能释放
报表内存智能释放使用基于 JVM 底层原理深度开发的负载判断算法,避免对系统垃圾回收进行干预,极大提升系统负载判断的准确性和及时性。
开启「报表内存智能释放」功能后,高负载下新会话进入排队,正在计算中的会话若试图计算较大数据量停止计算,计算完成的会话若占用较大内存则被清除。
「报表内存智能释放」功能默认开启,可自定义警报提示,默认提示为「服务器压力过大,触发保护机制,请稍后刷新该页面重新访问」。
点击「保存」即可生效,如下图所示:
注:智能释放不需要用户设置各项阈值,系统根据负载状态智能地选择最合适的释放策略,保障系统稳定运行的同时,尽可能降低对用户的影响。
6.2 报表结果表内存智能释放
11.0.4 及之后版本的工程新增「报表结果表内存智能释放」功能。
报表计算出结果后,结果表和结果表中的引用对象仍然占用内存,增大内存压力。
开启「报表结果表内存智能释放」功能后,支持对分页预览模板的结果表内存优化,支持对未使用排序、分组过滤、列表过滤、折叠树功能的数据分析预览模板内存优化
「报表内存智能释放」功能默认开启,点击「保存」即可生效,如下图所示:
7. 生命周期
1)实时检测会话是否过期。
2)会话超过 x 分钟未向后台发送请求,则会被系统清除。默认值 30 分钟。
注:允许最小值 10 分钟,最大值 10000 分钟。