建议管理员对系统进行定期巡检,确保应用所在的环境及应用内配置合理,以保证应用的正常运行。
巡检内容包括端口检查、网络服务检查、存储服务检查、环境配置检查以及业务配置检查。
帆软应用正常使用过程中,需要服务器开放一些端口,因此需要对这些端口进行检查是否开放,避免出现系统功能异常。
FR默认:8080
BI默认:37799
帆软的 Web 端对外开放的端口,不开放将无法正常访问页面
默认端口支持修改,使用文本编辑工具打开文件:
比如我们想将端口号改为 8081,则将 server.xml 的代码中的 connector port 作如下修改,并保存文件。
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改完成后,需要重启 Tomcat 服务器。
FR默认:38888/39888
BI默认:48888
WebSocket 主要用于刷新 token、用户被踢出、平台消息、内存和 CPU 显示、平台日志处当前系统在线人数、数据连接编辑状态的确定。
WebSocket 不开放影响 socket 通信,访问可能异常断开。
用户可根据自己的工程情况选择合适的 WebSocket 端口配置方法,详情请参见:
1)单机环境配置 WebSocket 端口:单机配置WebSocket端口
2)集群环境配置 WebSocket 端口:集群配置WebSocket端口
3)HTTPS 环境配置 Websocket 端口:HTTPS环境配置WebSocket
4)仅对外开放一个端口:不额外给WebSocket对外开放端口
检查一下文件服务器、外接数据库、状态服务器和应用之间通信是否正常,是否能够ping通,是否存在丢包情况。
3.3.1 磁盘性能检查
检查原因:
磁盘读取性能及磁盘写入性能会对帆软的业务产生影响,因此需要关注磁盘的性能和使用情况。
检查方法:
1)FineBI 功能
管理员登录数据决策系统,点击「BI工具>磁盘空间管理>磁盘性能」,点击「测试磁盘」,即可进行磁盘写入性能检测。
若磁盘写入速度在100M/s以下,建议提升磁盘性能,避免影响业务的正常运行。
2)iostat工具
以 Linux 系统为例。
以M为单位展示详细的磁盘读取负载情况
需要特别关注以下四个参数:
w_await和r_await这两个值越高,说明写入/读取需要等待的时间越长
妥%iowait这两个值越高,说明当前系统的磁盘使用率非常高,且cpu大部分时间处于等I/O的状态
这个时候,往往说明I/O遇到了瓶颈,此时建议提升磁盘性能
3.3.2 磁盘剩余空间检查
随着帆软应用的运行,可能会产生越来越多的日志、备份、缓存文件等,对于磁盘空间的占用也会渐渐变大,如果不关注磁盘剩余空间可能出现磁盘空间不足导致系统运行受影响,严重时甚至会导致宕机。
管理员需要关注root根目录、db更新目录、temp目录、schedule目录、备份目录、logs目录、工程目录、polors缓存目录所在磁盘的剩余空间情况,如以上几个目录所在磁盘剩余空间较小时,建议进行磁盘清理或扩容,确保有充足的空间保证帆软应用的正常运行。
定期清理帆软应用中的过期或无效内容,保持磁盘空间的健康。
3.4.1 物理内存及堆内内存
1)建议值
单机
CPU:8 核 16 线程 2GHZ
JVM 内存:16GB
物理内存:32G
单机
CPU:8 核 16 线程 2GHZ
JVM 内存:8GB
物理内存:16G
单机
CPU:8 核 16 线程 2GHZ
JVM 内存:16GB
物理内存:32G
单机
CPU:8 核 16 线程 2GHZ
JVM 内存:8GB
物理内存:16G
CPU:8 核 16 线程 2GHZ
JVM 内存:24GB
物理内存:48G
单机
CPU:8 核 16 线程 2GHZ
JVM 内存:16GB
物理内存:32G
双节点
CPU:8 核 16 线程 2GHZ
JVM 内存:24GB
物理内存:48G
双节点
CPU:8 核 16 线程 2GHZ
JVM 内存:16GB
物理内存:32G
三节点
CPU:8 核 16 线程 2GHZ
JVM 内存:32GB
物理内存:64G
双节点
CPU:8 核 16 线程 2GHZ
JVM 内存:24GB
物理内存:48G
三节点
CPU:8 核 16 线程 2GHZ
JVM 内存:32GB
物理内存:64G
三节点
CPU:8 核 16 线程 2GHZ
JVM 内存:24GB
物理内存:48G
说明:
2)修改方式
堆内内存的修改方法,请参见下方表格文档:
-Xmx 参数:最大堆内内存
-Xms 参数:初始化内存大小
3.4.2 堆外内存
1)建议值
建议堆外内存设置为2GB。
2)修改方式
堆外内存由这个参数来设置。本文以工程部署在 Tomcat 上为例介绍修改方法。
set JAVA_OPTS=%JAVA_OPTS% -XX:MaxDirectMemorySize=2g
JAVA_OPTS="$JAVA_OPTS -XX:MaxDirectMemorySize=2g"
如下图所示:
3.4.3 fineIO读内存
1)建议值
建议JVM fineIO读内存使用堆外内存设置为2G。
2)修改方式
fineIO 读内存由这个参数来设置。请根据自身工程部署情况选择修改方法。本节展示 Tomcat 环境下设置 fineIO读内存 的步骤。
读内存的默认单位为 GB,支持小数,但不支持使用 g、m 等。建议读内存为写内存的2-3倍,缓存大小建议与写内存大小一致。
set JAVA_OPTS=%JAVA_OPTS% -Dfineio.read_mem_limit=2
JAVA_OPTS="$JAVA_OPTS -Dfineio.read_mem_limit=2"
3.4.4 fineIO写内存
1)建议值
建议JVM fineIO写内存使用堆外内存设置为1G。
2)修改方式
fineIO 写内存由这个参数来设置。请根据自身工程部署情况选择修改方法。本节展示 Tomcat 环境下设置 fineIO写内存 的步骤。
写内存的默认单位为 GB,支持小数,但不支持使用 g、m 等。建议读内存为写内存的2-3倍,缓存大小建议与写内存大小一致。
set JAVA_OPTS=%JAVA_OPTS% -Dfineio.write_mem_limit=1
JAVA_OPTS="$JAVA_OPTS -Dfineio.write_mem_limit=1"
3.5.1 垃圾回收器
1)建议值
建议 JVM 使用垃圾回收器类型为 ParallelScavenge
2)修改方式
本节以工程部署在 Tomcat 上为例, 介绍设置垃圾收集器为Parallel Scavenge(并行收集器)的方法。
set JAVA_OPTS= -XX:+UseParallelGC
JAVA_OPTS="$JAVA_OPTS -XX:+UseParallelGC"
3.5.2 老年代和新生代比例
1)建议值
建议 JVM 老年代与新生代大小比例设置为 2
2)修改方式
堆内老年代与新生代大小比例建议为 2(-XX:NewRatio=2,JVM的默认值);NewRatio 大小正常生效需要用户不限制新生代大小。
在设置-Xmx、-Xms参数的位置,添加 NewRatio 的值即可,本节展示 Tomcat 环境下设置 NewRatio 的步骤。
set JAVA_OPTS= -Xms512M -Xmx1024M -XX:NewRatio=2
JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx8196M -XX:NewRatio=2"
3.5.3 栈空间
1)建议值
建议单线程使用栈空间不超过1024KB
2)修改方式
建议单线程使用栈空间不超过1024KB,即 -Xss 的值不超过 1024 。
在设置-Xmx、-Xms参数的位置,添加 -Xss 的值即可,本节展示 Tomcat 环境下设置 -Xss 的步骤。
set JAVA_OPTS= -Xms512M -Xmx1024M -Xss1024K
JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx8196M -Xss1024K"
3.5.4 单机多进程
单机使用多个进程存在宕机隐患,建议服务器内仅单独运行一个帆软应用,其他业务迁移到单独服务器中。
3.5.5 JDK版本
1)建议值
建议使用「JDK8」中 1.8.0_181 及以上版本
2)检查方式
cmd 命令行进入路径下,输入,即可查看 JDK 版本。如下图所示:
3.5.6 finedb是否公用
建议每个工程单独使用自己的配置数据库,杜绝多工程共用一个finedb
3.5.7 DisableExplicitGC 参数
1)建议值
建议不对 DisableExplicitGC 参数进行配置,此项配置会导致 System.gc()被禁用,影响系统稳定性。
2)修改方式
-XX:+DisableExplicitGC参数的作用是禁用 System.gc()。System.gc() 是一种保护机制,例如堆外内存满时清理它的堆内引用对象.
本节展示 Tomcat 环境下设置 DisableExplicitGC 参数的步骤。
set JAVA_OPTS=%JAVA_OPTS% -XX:+DisableExplicitGC
JAVA_OPTS="$JAVA_OPTS -XX:+DisableExplicitGC"
3.5.8 headless 模式
1)建议值
建议配置 -Djava.awt.headless=true 以启用 headless 模式
2)修改方式
headless 模式是系统的一种工作模式,如果系统属性 java.awt.headless被设置true,那么headless工具包就会被使用。
本节展示 Tomcat 环境下启用 headless 模式的步骤。
set JAVA_OPTS=%JAVA_OPTS% -Djava.awt.headless=true
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
3.5.9 debug模式
1)建议值
建议取消debug模式
2)修改方式
debug模式由两个参数控制:-agentlib:jdwp 和 -Xrunjdwp,删除这两个参数即可取消debug模式
3.5.10 dump导出
1)建议值
建议配置HeapDumpOnOutOfMemoryError 及 HeapDumpPath以保证正常导出dump
2)修改方式
1)-XX:+HeapDumpOnOutOfMemoryError参数表示当JVM发生OOM时,自动生成DUMP文件。
2)-XX:HeapDumpPath=${目录}参数表示生成dump文件的路径,也可以指定文件名称,例如:-XX:HeapDumpPath=${目录}/java_heapdump.hprof。
如果不指定文件名,默认为:java_<pid>_<date>_<time>_heapDump.hprof。
本节展示 Tomcat 环境下设置 recompilationCutoff 参数的步骤。
set JAVA_OPTS=%JAVA_OPTS% -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${目录}
JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${目录}"
3.5.11 vm.max_map_count
1)建议值
建议配置 vm.max_map_count 参数为 262144
2)修改方式
max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量
建议配置 vm.max_map_count 参数为 262144,本节展示 Linux 环境下设置 vm.max_map_count 参数的步骤。
vim /etc/sysctl.conf
vm.max_map_count=262144
sysctl -p
3.5.12 最大文件打开数(仅Linux系统关注)
1)建议值
建议open_files参数配置不低于65536
2)修改方式
修改linux的软硬件限制文件/etc/security/limits.conf,在文件尾部添加如下代码, 配置完成后重启工程即可生效。
* soft nofile 65536
* hard nofile 65536
3.5.13 recompilationCutoff(仅FineBI关注)
1)建议值
建议recompilationCutoff相关参数配置值为-1
2)修改方式
没有配置 RecompilationCutoff 参数/配置的 RecompilationCutoff 参数太小,可能会导致 spider 引擎数据更新缓慢。
本节展示 Tomcat 环境下设置 recompilationCutoff 参数的步骤。
set JAVA_OPTS=%JAVA_OPTS% -XX:PerMethodRecompilationCutoff=-1 -XX:PerBytecodeRecompilationCutoff=-1
JAVA_OPTS="$JAVA_OPTS -XX:PerMethodRecompilationCutoff=-1 -XX:PerBytecodeRecompilationCutoff=-1"
在数据决策系统的「管理系统>智能运维>平台日志>全局设置」中「自动清理」周期设置为3个月,或手动清理超过3个月的日志
在数据决策系统的「管理系统>智能运维>平台日志>全局设置」中,将日志级别设置为「ERROR」
在数据决策系统的「管理系统>智能运维>备份还原>全局设置」中,将份数上限设置为保留5份
在数据决策系统的「定时调度>调度对象>文件处理」中,配置为「仅保留最近1次」或「任务结束即清理」
若jvm堆内设置为32g,则spark_memory_fracrtion为0.6
若jvm堆内设置为8g,则spark_memory_fracrtion为0.3
修改DistributedOptimizationConfig.spiderConfig.spider_update_fast_compute_limit_cell参数值不超过10000
修改方法请参考:FINE_CONF_ENTITY可视化配置
修改DistributedOptimizationConfig.spiderConfig.spark_driver_maxResultSize参数值不超过1g
修改方法请参考:FINE_CONF_ENTITY可视化配置
修改DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_row参数值不超过10000000
修改方法请参考:FINE_CONF_ENTITY可视化配置
修改DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_unit参数值不超过10000000
修改方法请参考:FINE_CONF_ENTITY可视化配置
修改DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_memory参数值不超过500000000
修改方法请参考:FINE_CONF_ENTITY可视化配置











