Skip to content

Commit

Permalink
Merge pull request #254 from huihzhao/master
Browse files Browse the repository at this point in the history
update best practices for BSC Nodes
  • Loading branch information
BinanceG11 authored Dec 29, 2023
2 parents 5854b8b + 84bcb35 commit 679140f
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 19 deletions.
1 change: 1 addition & 0 deletions docs/bsc-tutorials.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ In this section, we have provided tutorials on usage of different components of
* Tutorial on [How to Join BNB Smart Chain as Validator](validator/run-val.md)
* Tutorial on [How to Create a Validator on BNB Smart Chain](validator/create-val.md)
### Full Node
* Tutorial on [BNB Smart Chain (BSC) Node Configuration: Best Practices](validator/best-practice.md)
* Tutorial on [How to Run a Full Node on BNB Smart Chain](validator/fullnode.md)
* Tutorial on [How to Upgrade Geth (Full Node) on BNB Smart Chain](validator/upgrade-fullnode.md)
### Archive Node
Expand Down
43 changes: 42 additions & 1 deletion docs/validator/best-practice.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,45 @@
# Best Practice
# BNB Smart Chain (BSC) Node Configuration: Best Practices

## Hardware Specifications

To ensure optimal performance and reliability, it is crucial to select the appropriate node type based on your specific requirements for transaction processing and state querying on the BNB Smart Chain.

### Fast Node (Recommended Configuration)
For users requiring access to the latest world state in a lightweight mode, the fast node is the ideal choice. It demands less from your system’s CPU and disk space.
- **Processor**: Minimum 16-core CPU.
- **Memory**: At least 32 GB RAM.
- **Storage**: Solid State Drive (SSD) with a minimum capacity of 2TB.
- **Network**: Stable and high-speed internet connection, minimum 5 MBps.

### Archive Node
For comprehensive access to the entire historical world state of the BSC mainnet, consider deploying an Archive Node. Detailed instructions are available at [BSC Erigon GitHub repository](https://github.com/node-real/bsc-erigon).
- **Processor**: Minimum 16-core CPU.
- **Memory**: At least 128 GB RAM.
- **Storage**: SSD with a minimum capacity of 10TB (NVME SSDs are recommended for optimal performance).
- **Network**: Stable and high-speed internet connection, minimum 5 MBps.

### Full Node
To obtain the latest world state and verify the validity of the state or to generate data proofs, a standard Full Node is suitable.
- **Processor**: Minimum 16-core CPU.
- **Memory**: At least 64 GB RAM.
- **Storage**: Solid State Drive (SSD) with a minimum capacity of 3TB.
- **Network**: Stable and high-speed internet connection, minimum 5 MBps.

## Monitoring Metrics and Alerts

To maintain node health and performance, monitor the following key metrics:

- **Transaction Pool Alert**: Triggered when the transaction pool exceeds 5000 transactions.
- **Block Import Time Alert**: Activated if block import time exceeds 3 seconds.
- **RPC Latency Alert**: Initiated when RPC latency surpasses 100ms.

## Performance Optimization

BSC nodes offer configurable cache settings to enhance performance. It is advisable to allocate approximately one-third of the physical memory to the cache. For example, with 64GB of physical memory, the cache setting can be configured as:
```
--cache 20000
```

## Keep Track of Syncing Speed

```
Expand Down
16 changes: 0 additions & 16 deletions docs/validator/fullnode.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,6 @@ sidebar_position: 2

We support running a full node on **Mac OS X**, **Linux**, and **Windows**.

## Suggested Requirements

The hardware must meet certain requirements to run a full node on **_mainnet_**:

- VPS running recent versions of Mac OS X, Linux, or Windows.
- **IMPORTANT** 3 TB of free disk space, solid-state drive(SSD), gp3, 8k IOPS, 500 MB/S throughput, read latency <1ms. (if node is started with snap sync, it will need NVMe SSD).
- 16 cores of CPU and 64 GB of memory (RAM)
- Suggest m5zn.3xlarge or r7iz.4xlarge instance type on AWS, c2-standard-16 on Google cloud.
- A broadband Internet connection with upload/download speeds of 5 MB/S

The requirement for **_testnet_**:

- VPS running recent versions of Mac OS X, Linux, or Windows.
- ~1.5 TB of storage for testnet.
- 4 cores of CPU and 16 gigabytes of memory (RAM).

## Steps to Run a Fullnode

### Sync From Snapshot (Recommended)
Expand Down
4 changes: 2 additions & 2 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ const sidebars = {
{
type: 'category',
collapsed: true,
label: 'Running Fullnode',
items: ['validator/fullnode', 'archivenode', 'validator/best-practice', 'validator/node-maintenance', 'validator/upgrade-fullnode', 'validator/docker']
label: 'Running BSC Nodes',
items: ['validator/best-practice','validator/fullnode', 'archivenode', 'validator/node-maintenance', 'validator/upgrade-fullnode', 'validator/docker']
},
{
type: 'category',
Expand Down

0 comments on commit 679140f

Please sign in to comment.