Recommended Environment and Configuration for Project Deployment

  • Last update:November 21, 2024
  • Overview

    To meet enterprises' business requirements on high availability and concurrency, FanRuan supports both standalone and cluster deployment methods.

    Also, the corresponding deployment architecture is recommended based on the specific business load situation to ensure the normal and stable business running.

    This document describes various recommended optimal deployment solutions based on the number of concurrent users and server resources.

    Deployment solution description:

    (1) The deployment solutions listed in this document are all based on the configuration requirements when the server is dedicated to the project and components. (Namely, no other content is installed on the server.)

    • The FanRuan standalone architecture consists of the project node and the configuration database (external FineDB).

    工程部署推荐环境及配置 图1.png

    • The FanRuan cluster architecture consists of project nodes, the load balancer, the state server, the file server, and the configuration database (external FineDB). Different application components in the architecture need to be selected and matched for different scenarios.

    工程部署推荐环境及配置 图2.png

    • During actual deployment, you can freely select the software and hardware in the range supported by the technology roadmap.

    (2) Considering that server resources of some users are limited:

    • For project node deployment solutions, this document describes recommended and minimum configuration requirements respectively. If resources are abundant, meet the recommended configuration requirements. If resources are insufficient, at least meet the minimum configuration requirements.

    • For cluster deployment solutions, this document provides both high availability and non-high availability deployment solutions. If resources are abundant, you are advised to use the high availability deployment solution. If resources are insufficient, the non-high availability deployment solution can be considered.

    (3) For standalone projects, unavailability is unavoidable if a low-possibility fault occurs. If high availability is required, you are advised to preferentially select the cluster architecture for deployment.

    System performance description:

    (1) Project node quantity:

    • In a cluster scenario, the more the nodes are, the larger number of concurrent users the system can handle, and the more similar the average template response time is.

    • The number of concurrent users the system can handle in a standalone project is only one half that in a dual-node cluster, and one third that in a three-node cluster.

    (2) Template performance:

    • In a standalone scenario, the larger the JVM memory is, the shorter the template response time is.

    • In a cluster scenario, if the number of concurrent users is similar in each node, the average template response time is similar.

    • The performance of preview requiring platform authentication is worse than that of preview not requiring platform authentication. This is because different users cannot share the same result cache.

    Project Server Environment

    General Server Requirement

    Configuration ItemRecommended ConfigurationMinimum Configuration

    Server type

    Linux server

    Linux server

    System version

    Ubuntu 18.04.4 and later versions

    Ubuntu 18.04.4 and later versions

    System kernel

    3.10 and later versions

    3.10 and later versions

    System architecture

    x86_64

    x86_64

    Available disk space

    More than 500 GB for the server where   each node is located

    At least 40 GB for the root directory

    More than 500 GB for the server where each node is located

    At least 40 GB for the root directory

    Middleware

    Latest version of Tomcat 9

    Latest version of JDK 1.8

    Tomcat 8.5.57 and later versions

    JDK 1.8 (8u102 and later versions)

    Configuration Requirement Based on Node Quantity

    You can deploy only one project node of the cluster on one server. Therefore, you need to prepare as many servers as the number of project nodes.

    The following describes user dimensions.

    • Number of registered users: number of users registered in the system.

    • Number of online users: number of users who are concurrently online in a certain period of time (generally between 5% and 20% of the number of registered users).

    • Number of concurrent users: number of users who concurrently send requests to the server (generally between 10% and 25% of the number of online users).

    Number of Registered UsersNumber of Online UsersNumber of Concurrent Users

    Recommended Configuration

    (Average Response Time < 3s in 70% of Scenarios)

    Minimum Configuration

    (Average Response Time < 5s in 70% of Scenarios)

     2000 – 5000

     400 – 1000

    0 – 200

    Standalone configuration, in which   nodes should meet the following requirements:

    CPU: 8 cores; 16 threads; 2.4 GHz

    JVM memory: 16 GB

    Physical memory: 32 GB

    Standalone configuration, in which nodes should meet the following requirements:

    CPU: 8 cores; 16 threads; 2.4 GHz

    JVM memory: 8 GB

    Physical memory: 16 GB

     4000 – 10000

    800 – 1500

    200 – 300

    Standalone configuration, in which   nodes should meet the following requirements:

    CPU: 8 cores; 16 threads; 2.4 GHz

    JVM memory: 24 GB

    Physical memory: 48 GB

    Standalone configuration, in which nodes should meet the following requirements:

    CPU: 8 cores; 16 threads; 2.4 GHz

    JVM memory: 16 GB

    Physical memory: 32 GB

     6000 – 12000

    1200 – 2500

    300 – 500

    Two-node cluster configuration, in   which each node should meet the following configuration:

    CPU: 8 cores; 16 threads; 2.4 GHz

    JVM memory: 24 GB

    Physical memory: 48 GB

    Standalone configuration, in which nodes should meet the following requirements:

    CPU: 8 cores; 16 threads; 2.4 GHz

    JVM memory: 24 GB

    Physical memory: 48 GB

    8000 – 20000

    1600 – 4000

    500 – 800

    Three-node cluster configuration, in   which each node should meet the following requirements:

    CPU: 8 cores; 16 threads; 2.4 GHz

    JVM memory: 24 GB

    Physical memory: 48 GB

    Two-node cluster configuration, in which each node should meet the following configuration:

    CPU: 8 cores; 16 threads; 2.4 GHz

    JVM memory: 24 GB

    Physical memory: 48 GB

    10000 – 25000

    2000 – 5000

    800 – 1000

    Four-node cluster configuration, in   which each node should meet the following requirements:

    CPU: 8 cores; 16 threads; 2.4 GHz

    JVM memory: 24 GB

    Physical memory: 48 GB

    Two-node cluster configuration, in which each node should meet the following configuration:

    CPU: 8 cores; 16 threads; 2.4 GHz

    JVM memory: 24 GB

    Physical memory: 48 GB

    12000 – 30000

    2400 – 6000

    1000 – 1200

    Five-node cluster configuration, in   which each node should meet the following requirements:

    CPU: 8 cores; 16 threads; 2.4 GHz

    JVM memory: 24 GB

    Physical memory: 48 GB

    Three-node cluster configuration, in which each node should meet the following requirements:

    CPU: 8 cores; 16 threads; 2.4 GHz

    JVM memory: 24 GB

    Physical memory: 48 GB

    Server Environment of Other Components

    Standalone

    Applicable object:

    Standalone project

    • Application server: one node

    • FineDB configuration database: versions later than MySQL 8.0.20

    Parameter configuration:

    The FanRuan standalone architecture consists of the project node and the configuration database (external FineDB).

    iconNote:
    This section only describes the recommended configuration of other components in a standalone prject. For details about related configuration requirements of the FineReport project node server, see section "Project Server Environment."
    Configuration ItemRecommended Configuration

    Database (FineDB) Server Configuration

    Server quantity

    1

    If conditions permit, you are advised to deploy the external configuration database on one separate server.

    If conditions are limited, you can deploy the external configuration database and the FineReport project on the same server.

    But at least ensure that the server is dedicated to the FineReport project and the database (namely, no longer deployed with other applications).

    Operating system

    Linux server

    System version: Ubuntu 18.04.4 and later versions

    System kernel version: 3.10 and later versions

    System architecture version: x86_64

    Network requirement

    (1) You are advised to deploy the configuration database and the application project on the same network segment to avoid problems such as network fluctuations.

    (2) If the configuration database and the application project are in a public network environment, the bandwidth needs to be above 10 Mbps.

    (3) The network needs to be smooth between the configuration database and the application project and their ports need to be accessible to each other.

    Database quantity

    1

    Database type

    MySQL 8 database

    Database version: versions later than MySQL 8.0.20

    Database driver version: 5.1.49 (compatible with MySQL 5/8)

    Database character set: utf8

    Database sorting rule: utf8_bin

    Database name: only numbers, letters, underscores, and periods (.) supported

    Database permission: create, delete, alter, update, select, insert, and index

    CPU

    Above 2.5 GHz

    8 cores; 16 threads

    Physical memory

    8 GB

    Available disk space

    More than 200 GB

    Network speed

    100 Mbps

    Disk read/write speed

    100 MB/s

    Standard Cluster

    Applicable object:

    Standard cluster

    • Application server: at least two nodes

    • State server: Redis standalone

    • File server: SFTP

    • Load balancer: NGINX

    • Configuration database: MySQL

    Parameter configuration:

    The FanRuan cluster architecture consists of project nodes, the load balancer, the state server, the file server, and the configuration database (external FineDB).

    iconNote:
    This section only describes the recommended configuration of other components in a cluster. For details about related configuration requirements of the FineReport project node server, see section "Project Server Environment."
    Configuration Item
    Recommended Configuration

    Sharing Requirement

    The requirements listed in this section are ones that must be met by every type of cluster components.

    Server quantity

    If conditions permit, you are advised to deploy the load balancer, the state server, the file server, and the external configuration database on one server separately.

    If conditions are limited, ensure that these components are deployed on at least one separate server (exclusively occupied by these components and not shared with the FineReport project).

    Operating system

    Linux server

    System version: Ubuntu 18.04.4 and later versions

    System kernel version: 3.10 and later versions

    System architecture version: x86_64

    GNU Compiler Collection (GCC)

    The deployment of both Redis and NGINX in the Linux system relies on GCC.

    Ensure that the system has the GCC environment.

    Query command: gcc -v

    Installation command: yum install gcc gcc-c++

    Network requirement

    (1) You are advised to deploy each component and the application project on the same network segment to avoid problems such as network fluctuations.

    (2) If each component and the application project are in a public network environment, the bandwidth needs to be above 10 Mbps.

    (3) The network needs to be smooth between each component and the application project and their ports need to be accessible to each other.

    State Server

    Server quantity

    1

    Deployment solution

    Redis standalone

    JVM/Physical memory

    4 GB/8 GB

    CPU

    Above 2.5 GHz

    8 cores; 16 threads

    Available disk space

    More than 100 GB

    At least 40 GB for the root directory

    File Server

    Server quantity

    1

    Deployment solution

    SFTP

    Physical memory

    8 GB

    CPU

    Above 2.5 GHz

    8 cores; 16 threads

    Available disk space

    500 GB – 1 TB

    At least 40 GB for the root directory

    Expand the capcaity according to usage.

    Notes

    The FTP server can be installed in the Linux system only by the user with highest permissions (root). Otherwise, the intallation cannot proceed. If the FTP server does not need to be installed, this requirement can be ignored.

    Load Balancer

    Server quantity

    1

    Deployment solution

    NGINX

    1.21 and later versions recommended (preferentially the latest version)

    Physical memory

    8 GB

    CPU

    Above 2.5 GHz

    8 cores; 16 threads

    Available disk space

    More than 100 GB

    At least 40 GB for the root directory

    Database (FineDB) Server Configuration

    Server quantity

    1

    Database type

    MySQL 8 database

    Database version: versions later than MySQL 8.0.20

    Database driver version: 5.1.49 (compatible with MySQL 5/8)

    Database character set: utf8

    Database sorting rule: utf8_bin

    Database name: only numbers, letters, underscores, and periods (.) supported

    Database permission: create, delete, alter, update, select, insert, and index

    CPU

    Above 2.5 GHz

    8 cores; 16 threads

    Physical memory

    8 GB

    Available disk space

    More than 200 GB

    Network speed

    100 Mbps

    Disk read/write speed

    100 MB/s

    Highly-Available Cluster

    Applicable object:

    Highly-available cluster

    • Application server: at least two nodes

    • Status server: Redis cluster with three master nodes and three slave nodes

    • File server: NAS

    • Load balancer: NGINX + Keepalived

    • Configuration database: PostgreSQL

    Parameter configuration:

    The FanRuan cluster architecture consists of project nodes, the load balancer, the state server, the file server, and the configuration database (external FineDB).

    iconNote:
    This section only describes the recommended configuration of other components in a cluster. For details about related configuration requirements of the FineReport project node server, see section "Project Server Environment."
    Configuration Item
    Recommended Configuration

    Sharing Requirement

    The requirements listed in this section are ones that must be met by every type of cluster components.

    Server quantity

    If conditions permit, you are advised to deploy the load balancer, the state server, the file server, and the external configuration database on one server separately.

    If conditions are limited, ensure that these components are deployed on at least one separate server (exclusively occupied by these components and not shared with the FineReport project).

    Operating system

    Linux server

    System version: Ubuntu 18.04.4 and later versions

    System kernel version: 3.10 and later versions

    System architecture version: x86_64

    GNU Compiler Collection (GCC)

    The deployment of both Redis and NGINX in the Linux system relies on GCC.

    Ensure that the system has the GCC environment.

    Query command: gcc -v

    Installation command: yum install gcc gcc-c++

    Network requirement

    (1) You are advised to deploy each component and the application project on the same network segment to avoid problems such as network fluctuations.

    (2) If each component and the application project are in a public network environment, the bandwidth needs to be above 10 Mbps.

    (3) The network needs to be smooth between each component and the application project and their ports need to be accessible to each other.

    State Server

    Server quantity

    Redis cluster with three master nodes and three slave nodes

    If conditions permit, prepare six servers on each of which one node is deployed.

    If conditions are limited, prepare three servers on each of which one master node and one slave node are deployed.

    JVM/Physical memory

    4 GB/8 GB

    CPU

    Above 2.5 GHz

    8 cores; 16 threads

    Available disk space

    More than 100 GB

    At least 40 GB for the root directory

    File Server

    Server quantity

    1

    Deployment solution

    NAS

    Physical memory

    8 GB

    CPU

    Above 2.5 GHz

    8 cores; 16 threads

    Available disk space

    500 GB – 1 TB

    At least 40 GB for the root directory

    Expand the capcaity according to usage.

    Load Balancer

    Server quantity

    2

    Deployment solution

    Keepalived + NGINX

    NGINX 1.21 and later versions recommended (preferentially the latest version)

    Physical memory

    8 GB

    CPU

    Above 2.5 GHz

    8 cores; 16 threads

    Available disk space

    More than 100 GB

    At least 40 GB for the root directory

    Database (FineDB) Server Configuration

    Server quantity

    2

    Database type

    Highly-available database in the master-slave mode

    Database permission: create, delete, alter, update, select, insert, and index

    CPU

    Above 2.5 GHz

    8 cores; 16 threads

    Physical memory

    8 GB

    Available disk space

    More than 200 GB

    Network speed

    100 Mbps

    Disk read/write speed

    100 MB/s

     


    Attachment List


    Theme: Deployment and Integration
    • Helpful
    • Not helpful
    • Only read

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    8s后關閉

    Get
    Help
    Online Support
    Professional technical support is provided to quickly help you solve problems.
    Online support is available from 9:00-12:00 and 13:30-17:30 on weekdays.
    Page Feedback
    You can provide suggestions and feedback for the current web page.
    Pre-Sales Consultation
    Business Consultation
    Business: international@fanruan.com
    Support: support@fanruan.com
    Page Feedback
    *Problem Type
    Cannot be empty
    Problem Description
    0/1000
    Cannot be empty

    Submitted successfully

    Network busy