1. 概述
1.1 版本
运维平台版本 | 功能变更 |
---|---|
V1.5.5 | - |
V1.6.0 | 内存堆栈导出记录,新增「触发类型」,记录自动导出堆栈的触发原因,方便后续分析 |
1.2 应用场景
报表工程部署在服务器上后,会因为各种原因导致宕机。宕机后很难定位到真实原因,从而无法快速解决问题和做一些防止再发生的预防措施,造成的时间和精力损失无法估计,对服务器运维非常不友好。
运维平台提供「宕机自动处理」功能。发生宕机后,通过分析生成的 DUMP 文件,可以快速定位宕机原因,及时处理宕机问题和做一些有效的预防措施,为用户增加一道保险。
管理员登录运维平台,点击运维项目,进入「宕机>宕机自动处理」页面,即可使用该功能。
2. 宕机自助向导
记录工程的宕机时间和宕机原因,并提供对应的推荐处理方案。如下图所示:
常见的宕机原因和推荐处理方案如下表所示:
宕机原因 | 推荐处理方案 |
---|---|
内存溢出,可查看具体引发该问题的模板,包括: 被中止的模板 模板计算占用内存过高 模板计算时间过长 sql执行时间过长 模板数据集数据行数大于建议限制行数 模板单元格数大于建议限制单元格数 | 1)建议对详情中的模板进行性能排查,同时开启模板限制,配置合理的限制范围以避免模板性能导致宕机。 模板限制请参见:模板限制 2)如果当前系统堆内内存配置小于推荐配置时,额外建议使用系统检查功能对应用进行诊断,修改堆内内存至推荐值。 系统检查请参见:系统检查 |
所用JDK版本存在BUG | 建议更换为1.8.0_181及以上版本的JDK8 |
系统存在不合理的内存配置 | 使用系统检查功能对应用进行诊断,并参照推荐值修改内存配置 系统检查请参见:系统检查 |
磁盘空间不足 | 请检查磁盘空间并清理不必要文件 磁盘扩容请参见:磁盘扩容 |
内存映射文件数量设置过低 | 使用系统检查功能对应用进行诊断,并参照推荐值修改内存映射文件数量配置 系统检查请参见:系统检查 |
当前所用版本存在宕机BUG | 建议更新升级至最新的小版本 FR更新升级请参见:FineReport版本说明 BI更新升级请参见:FineBI 版本说明 |
未知原因导致应用崩溃 | 建议上传云端运维日志或联系技术支持进行反馈 |
SSH退出导致应用退出 | 通过SSH方式启动应用会导致SSH退出时应用也被退出 建议使用其他命令行远程工具如secureCRT或配置其他应用服务器自启动等方式 |
数据源取数耗时过长导致线程阻塞 | 建议使用抽数缓存、SQL优化、数据预处理等方式提升取数性能 性能优化请参见:性能优化指导手册 |
日志输出导致线程阻塞 | 请调高日志输出级别减少日志输出或检查磁盘剩余空间是否不足 日志级别请参见:日志简介 |
系统内存释放时间过长 | 如果使用的堆内内存大于等于64G时:请将堆内内存调整至小于64g的数值 如果使用的堆内内存小于64G时:建议更换使用更高性能的CPU |
3. 内存堆栈导出记录
记录自动生成 DUMP 文件记录。
包括导出的项目、导出内容、导出开始时间、导出时长、触发类型、是否成功、如果失败,失败的原因等。如下图所示:
注:仅读取最近一个月的宕机处理记录。
4. 服务器重启记录
记录服务器重启的记录。
包括重启的项目、开始时间、时长、是否成功、如果失败,失败的原因等。如下图所示:
注:仅读取最近一个月的宕机处理记录。