历史版本40 :工程部署推荐环境及配置 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

为了满足企业高可用和高并发的业务需求,帆软支持单机和集群部署方式。

并可以根据具体的业务负载情况,推荐对应的部署架构,以保证业务的正常稳定运行。

本文根据用户并发数和服务器资源,推荐不同的最佳部署方案。

部署方案说明:

1)本文所列出的部署方案,均为工程和组件独占服务器时的配置要求(即该服务器中不再安装其他内容)。

  • 帆软单机架构为「工程节点+配置库(外接finedb)」

  • 帆软集群架构为「工程节点+负载均衡+状态服务器+文件服务器+配置库(外接finedb)」,架构中各个应用组件,需要针对不同场景进行选择和搭配。

  • 在实际部署时,可任意选择技术路线支持范围内的软硬件环境。

2)考虑到部分用户的服务器资源紧张。

  • 对于工程节点部署方案,本文分别提供推荐配置和最低配置要求。如资源充足,使用推荐配置;如资源紧张,必须至少满足最低配置。

  • 对于集群部署方案,本文分别提供高可用和非高可用部署方案。如资源充足,推荐使用高可用部署方案;如资源紧张,可考虑非高可用部署方案。

3)单机工程,无法避免会出现小概率故障时的不可用情况,如需保障高可用建议优先选择集群架构部署。

系统性能说明:

1)工程节点数:

  • 集群场景下,随着节点数增加,系统能处理的并发数也增加,模板的平均响应时间相近。

  • 双节点集群的并发数为单机的两倍、三节点集群的并发数为单机的三倍。

2)模板性能:

  • 单机场景下,JVM 内存增加,模板的响应时间减少。

  • 集群场景下,各个节点的并发数相近时,模板的平均响应时间相近。

  • 平台鉴权预览的方式比不走平台鉴权预览的方式性能差,因为不同用户之间不能共享同一结果缓存。

2. 工程服务器环境编辑

2.1 服务器通用要求

可使用 集群环境检测工具 检查下系统环境是否符合部署的要求

配置项
推荐配置最低配置
服务器类型Linux 服务器Linux 服务器
系统版本CentOS 7.3 / Ubuntu 18.04.4 及以上CentOS 7.3 / Ubuntu 18.04.4 及以上
系统内核3.10 及以上3.10 及以上
系统架构X86_64X86_64
可用磁盘空间

每个节点所在服务器可用磁盘空间在500G以上

其中根目录可用磁盘不可小于40G

每个节点所在服务器可用磁盘空间在500G以上

其中根目录可用磁盘不可小于40G

中间件

Tomcat8最新版本

JDK 1.8最新版本

Tomcat8.5.57 及以上版本

JDK 1.8,8u102 以上

2.2 不同节点数配置要求

一个服务器只能部署集群的一个工程节点,因此需要几个工程节点就要准备几个服务器。

用户维度说明:

  • 注册用户数:系统注册了的用户。

  • 在线用户数:用户同时在一定时间段的在线数量(一般注册人数的 5% - 20% 之间)。

  • 并发用户数:同时向服务器发送请求的用户数(一般是在线人数的 10% - 25% 左右)。

注册用户数在线用户数并发用户数

推荐配置

70% 场景的平均响应时间低于 3s

最低配置

70% 场景的平均响应时间低于 5s

 2000-5000 400-10000-200单机,节点满足:

CPU:8 核 16 线程 2.4GHZ

JVM 内存:16GB

物理内存:32G

单机,节点满足:

CPU:8 核 16 线程 2.4GHZ

JVM 内存:8GB

物理内存:16G

 4000-10000800-1500200-300

单机,节点满足:

CPU:8 核 16 线程 2.4GHZ

JVM 内存:16GB

物理内存:32G

单机,节点满足:

CPU:8 核 16 线程 2.4GHZ

JVM 内存:8GB

物理内存:16G

 6000-120001200-2500300-500单机

CPU:8 核 16 线程 2.4GHZ

JVM 内存:24GB

物理内存:48G

单机,节点满足:

CPU:8 核 16 线程 2.4GHZ

JVM 内存:16GB

物理内存:32G

8000-200001600-4000500-800

2节点集群,每个节点满足:

CPU:8 核 16 线程 2.4GHZ

JVM 内存:24GB

物理内存:48G

2节点集群,每个节点满足:

CPU:8 核 16 线程 2.4GHZ

JVM 内存:16GB

物理内存:32G

10000-250002000-5000800-1000

3节点集群,每个节点满足:

CPU:8 核 16 线程 2.4GHZ

JVM 内存:32GB

物理内存:64G

2节点集群,每个节点满足:

CPU:8 核 16 线程 2.4GHZ

JVM 内存:24GB

物理内存:48G

12000-300002400-60001000-1200

3节点集群,每个节点满足:

CPU:8 核 16 线程 2.4GHZ

JVM 内存:32GB

物理内存:64G

3节点集群,每个节点满足:

CPU:8 核 16 线程 2.4GHZ

JVM 内存:24GB

物理内存:48G

3. 其他组件服务器环境编辑

3.1 单机

适用对象:

单机工程

  • 应用服务器:1节点

  • finedb配置数据库:MySQL5

配置参数:

帆软单机架构为「工程节点+配置库(外接finedb)」

本节仅介绍单机其他组件的推荐配置,FineReport工程节点服务器相关配置要求请参考第二章。

配置项
推荐配置
配置数据库服务器(finedb)
服务器数量

1

如有条件,建议外接配置库组件部署在独立服务器上

如条件不足,可将外接配置库组件与FineReport工程部署在同一服务器上

但至少确保该服务器为FineReport工程和数据库独占,不再部署其他应用


操作系统Linux 服务器

系统版本:CentOS 7.3 / Ubuntu 18.04.4 及以上

系统内核:3.10 及以上

系统架构:X86_64

网络要求1)配置库和应用工程建议在同一网段,避免网络波动等问题

2)配置库和应用工程如处于公网环境,带宽需在10M以上

3)配置库和应用工程之间需要网络畅通,互相端口可访问

数据库数量

1

数据库类型MySQL5 数据库

数据库版本:5.5.31、5.5.46、5.5.56、5.6.22、5.6.31、5.7.16 版本

数据库驱动:5.1.37 版本

数据库字符集:utf8

数据库排序规则:utf8_bin

数据库名称:只允许包含数字、字母、下划线和「.」

数据库权限:create、delete、alter、update、select、insert、index

CPU2.5GHz以上

8核16线程

物理内存8g
可用磁盘空间

200G以上

网速100Mbps
磁盘读写速度100MB/s

3.2 标准集群

适用对象:

标准集群

  • 应用服务器:不少于2节点

  • 状态服务器:Redis单机

  • 文件服务器:SFTP

  • 负载均衡:Nginx

  • 配置数据库:MySQL

配置参数:

帆软集群架构为「工程节点+负载均衡+状态服务器+文件服务器+配置库(外接finedb)」

本节仅介绍集群其他组件的推荐配置,FineReport工程节点服务器相关配置要求请参考第二章。

配置项
推荐配置
共用要求

本节列出的要求,是每一种集群组件都必须满足的要求。

服务器数量

如有条件,建议负载均衡、状态服务器、文件服务器、外接配置库组件分别部署在不同的独立服务器上

如条件不足,至少确保有单独的服务器部署这些组件,且组件独占该服务器,不可与FineReport工程部署在同一服务器上

操作系统Linux 服务器

系统版本:CentOS 7.3 / Ubuntu 18.04.4 及以上

系统内核:3.10 及以上

系统架构:X86_64

可使用 集群环境检测工具 检查下系统环境是否符合集群部署的要求

GCC编译器

Redis 和 Nginx 在 Linux 系统上的部署均依赖 GCC 编译器

请保证系统具备 GCC 编译环境

查询命令:gcc -v

安装命令:yum install gcc gcc-c++

网络要求

1)各个组件和应用工程建议在同一网段,避免网络波动等问题

2)各个组件和应用工程如处于公网环境,带宽需在10M以上

3)各个组件和应用工程之间需要网络畅通,互相端口可访问

状态服务器
服务器数量

1

部署方案

redis单机

JVM/物理内存4g/8g
CPU2.5GHz以上

8核16线程

可用磁盘空间

100G以上

其中根目录可用磁盘不可小于40G

文件服务器
服务器数量1
部署方案SFTP
物理内存8G
CPU2.5GHz以上

8核16线程

可用磁盘空间

500G~1T

其中根目录可用磁盘不可小于40G

后续请根据使用情况扩展

注意事项Linux系统安装FTP时需要使用最高用户(root),否则不能进行,若不安装FTP则可不考虑这一要求
负载均衡
服务器数量1
部署方案

Nginx

版本推荐1.21及以上版本,优先使用最新版本

物理内存8G
CPU2.5GHz以上

8核16线程

可用磁盘空间

100G以上

其中根目录可用磁盘不可小于40G

配置数据库服务器(finedb)
服务器数量

1

数据库类型MySQL5 数据库

数据库版本:5.5.31、5.5.46、5.5.56、5.6.22、5.6.31、5.7.16 版本

数据库驱动:5.1.37 版本

数据库字符集:utf8

数据库排序规则:utf8_bin

数据库名称:只允许包含数字、字母、下划线和「.」

数据库权限:create、delete、alter、update、select、insert、index

CPU2.5GHz以上

8核16线程

物理内存8g
可用磁盘空间

200G以上

网速100Mbps
磁盘读写速度100MB/s

3.3 高可用集群

适用对象:

高可用集群

  • 应用服务器:不少于2节点

  • 状态服务器:Redis集群,3主3从

  • 文件服务器:NAS

  • 负载均衡:Nginx+Keepalived

  • 配置数据库:PostgreSQL

配置参数:

帆软集群架构为「工程节点+负载均衡+状态服务器+文件服务器+配置库(外接finedb)」

本节仅介绍集群其他组件的推荐配置,FineReport工程节点服务器相关配置要求请参考第二章。

配置项
推荐配置

共用要求

本节列出的要求,是每一种集群组件都必须满足的要求。

服务器数量

如有条件,建议负载均衡、状态服务器、文件服务器、外接配置库组件分别部署在不同的独立服务器上

如条件不足,至少确保有单独的服务器部署这些组件,且组件独占该服务器,不可与FineReport工程部署在同一服务器上

操作系统

Linux 服务器

系统版本:CentOS 7.3 / Ubuntu 18.04.4 及以上

系统内核:3.10 及以上

系统架构:X86_64

可使用 集群环境检测工具 检查下系统环境是否符合集群部署的要求

GCC编译器

Redis 和 Nginx 在 Linux 系统上的部署均依赖 GCC 编译器

请保证系统具备 GCC 编译环境

查询命令:gcc -v

安装命令:yum install gcc gcc-c++

网络要求

1)各个组件和应用工程建议在同一网段,避免网络波动等问题

2)各个组件和应用工程如处于公网环境,带宽需在10M以上

3)各个组件和应用工程之间需要网络畅通,互相端口可访问

状态服务器
服务器数量

redis集群,三主三从

如有条件,准备6台服务器,每台服务器部署一个节点

如条件不足,准备3台服务器,每台服务器部署一主一从节点

JVM/物理内存4g/8g
CPU2.5GHz以上

8核16线程

可用磁盘空间

100G以上

其中根目录可用磁盘不可小于40G

文件服务器
服务器数量1
部署方案NAS
物理内存8G
CPU2.5GHz以上

8核16线程

可用磁盘空间

500G~1T

其中根目录可用磁盘不可小于40G

后续请根据使用情况扩展

负载均衡
服务器数量2
部署方案

Keepalived+Nginx

Nginx版本推荐1.21及以上版本,优先使用最新版本

物理内存8G
CPU2.5GHz以上

8核16线程

可用磁盘空间

100G以上

其中根目录可用磁盘不可小于40G

配置数据库服务器(finedb)
服务器数量

2

数据库类型高可用数据库,主备模式

数据库权限:create、delete、alter、update、select、insert、index

CPU2.5GHz以上

8核16线程

物理内存8g
可用磁盘空间

200G以上

网速100Mbps
磁盘读写速度100MB/s