Skip to main content

Recommended Servers

Standalone Deployment Mode

Microservices

Strengths: Simple and fast deployment, low server resources and O&M costs

Weaknesses: single point of failure, but it supports health checks and usually has self-recovery capabilities

Recommended server configurations are as follows:

ConcurrencyConfigurationOS
Within 1008C/32G/40G system disk/100G data diskDebian 10+
Within 20016C/32G/40G system disk/100G data diskDebian 10+
Within 30024C/48G/40G system disk/100G data diskDebian 10+
300 or moreRecommended cluster deployment mode-

Data Pipeline Service

Data Pipeline is an extension module in the HAP system, and users can choose whether to enable it or not. The recommended configuration for the data Pipeline server is as follows:

Number of synchronization tasksConfigurationOS
1~208C/32G/40G system disk/100G data diskDebian 10+
1~5016C/64G/40G system disk/100G data diskDebian 10+
50 or aboveRecommend deploying in cluster mode for easy horizontal scaling-

The larger the amount of data in the data source, the higher the required resource consumption may also need to be correspondingly increased

Cluster Deployment Mode

Lite Edition (Concurrency 300+)

Strengths: save server resources and O&M costs, high availability of microservice clusters, and relatively independent deployment components, suitable for environments with limited resources or small-scale application scenarios

Weaknesses: some component coupling, possible single point of failure of storage-related services

Recommended server configurations are as follows:

UsageConfigurationOSDeployed ServiceNumber
Load and Forward4C/8G/100G system disk/200G data diskDebian 10+Nginx1
Microservice Application16C/48G/100G system disk/200G data diskDebian 10+HAP Microservices2
Middleware8C/32G/100G system disk/500G data diskDebian 10+Kafka, Elasticsearch, File Object Storage1
Data Storage8C/32G/100G system disk/300G data disk (SSD)Debian 10+MySQL, MongoDB, Redis1
Data Pipeline (optional)8C/32G/100G system disk/200G data diskDebian 10+Data Pipeline Service1

Standard Edition (Concurrency 600+)

Strengths: Having basic high availability capabilities, such as node redundancy and higher utilization of automatic fault tolerance, and being able to effectively utilize server resources. Suitable for most usage scenarios

Weaknesses: There is interference and resource competition between different storage components, and attention should be paid to resource allocation and management

Recommended server configurations are as follows:

UsageConfigurationOSDeployed ServicesNumber
Load and Forward4C/8G/100G system disk/200G data diskDebian 10+Nginx2
Microservice Application16C/48G/100G system disk/200G data diskDebian 10+HAP Microservices3
Cache4C/16G/100G system disk/200G data diskDebian 10+Redis2
Middleware8C/32G/100G system disk/500G data diskDebian 10+Kafka, Elasticsearch, File Object Storage4
Database8C/32G/100G system disk/300G data disk (SSD)Debian 10+MySQL, MongoDB3
Data Pipeline (optional)8C/32G/100G system disk/200G data diskDebian 10+Data Pipeline Service2

Professional Edition (Concurrency 1000+)

Strengths: At the same time of high availability, a single application architecture is adopted (only one component instance runs on each server) to improve reliability and performance, avoid interference and resource competition between different components, and also facilitate independent expansion and management of each component

Weaknesses: high server resources and O&M costs

Recommended server configurations are as follows:

UsageConfigurationOSDeployed ServiceNumber
Load and Forward4C/8G/100G system disk/200G data diskDebian 10+Nginx2
Microservice Application32C/64G/100G system disk/300G data diskDebian 10+HAP Microservices3
Cache16C/32G/100G system disk/200G data diskDebian 10+Redis2
Message queue16C/32G/100G system disk/500G data diskDebian 10+Kafka3
Full-text search16C/32G/100G system disk/500G data diskDebian 10+Elasticsearch3
File Storage16C/32G/100G system disk/500G data diskDebian 10+File Object Storage4
RDB16C/32G/100G system disk/500G data disk(SSD)Debian 10+MySQL2
NoSQL32C/64G/100G system disk/500G data disk(SSD)Debian 10+MongoDB3
Data Pipeline (optional)16C/64G/100G system disk/200G data diskDebian 10+Data Pipeline Service2

Basic performance requirements for servers

CPU

It is recommended to choose a CPU with a clock speed of 2.5 GHz or higher. High frequency can provide faster computation and response speed.

Ordinary hard drive

For non database dedicated servers, the requirements for hard disk performance may not be very high, so choosing a regular hard disk type is sufficient.

But for ordinary hard drive types, we also have certain performance requirements, and we strongly recommend not to lower them below the following values:

  • Random write performance: IOPS ≥ 2000
  • Random read performance: IOPS ≥ 2000
  • Sequential write speed: ≥ 80 MiB/s
  • Sequential reading speed: ≥ 80 MiB/s

SSD hard drive

To evaluate the performance of SSD hard drives, we used common mid-range SSD hard drives provided by cloud server vendors as our testing benchmark.

The following are the benchmark indicators we have set, however, we strongly recommend that the actual hard drive configuration should not be lower than the following values. Of course, if we could surpass these values, it would be even more ideal.

  • Random write performance: IOPS ≥ 15000
  • Random read performance: IOPS ≥ 15000
  • Sequential write speed: ≥ 200 MiB/s
  • Sequential reading speed: ≥ 200 MiB/s

Cluster Mode - Internal Network

In order to ensure the stability and efficient performance of the system under various workloads, we have set the following basic performance requirements for the internal network:

Internal packet sending and receiving rate (PPS): Each server should reach at least 200000.

Internal network bandwidth: The internal network bandwidth of each server should not be less than 2 Gbps.

These requirements help ensure that the system can maintain stable and efficient communication performance even under high load conditions.

Bandwidth requirements

Bandwidth recommendation is 30M+. If file storage related functions are frequently used, it may need to be expanded according to the actual situation

Accelerated access: The larger the bandwidth, the faster the data transmission speed, and the smoother the user access experience.

Supporting more users: High bandwidth can effectively avoid lagging or latency in high concurrency scenarios, supporting more concurrent access.

Coping with peak traffic: During peak traffic periods, sufficient bandwidth can ensure the normal operation of servers and will not be affected by traffic pressure.

Charged by data, higher cost-effectiveness: For cloud servers, it is recommended to purchase bandwidth. Charged by data is a flexible and cost-effective solution that can ensure speed and meet business needs of different scales.

Example of bandwidth calculation

Assuming a bandwidth of 30Mbps is selected, if 30 people are downloading simultaneously, the bandwidth allocation is as follows:

Total bandwidth: 30Mbps=30000000 bits/second

Bandwidth allocation per user: 30000000 ÷ 30=1000000 bits/second

Download speed per user: 1000000 ÷ 8=125000 bytes per second ≈ 125KB/s