System sizing
Overview
The following section provides system sizing recommendations for both the Private Subnet and Privacy Ledger infrastructures in the Rayls Ecosystem. These specifications ensure that the system performs optimally in different environments, including production and testing.
Private Subnet Infrastructure
The Private Subnet is a permissioned blockchain network optimized for privacy and scalability. Below are the minimum requirements for each key component in the Private Subnet infrastructure:
Component | CPU | Memory | Disk | Notes |
---|---|---|---|---|
Commit Chain | 8 vCPUs | 16 GB | 100 GB | EVM-compatible blockchain (e.g., Hyperledger Besu) used for validating and recording transactions. Disk size scales with transaction volume. |
MongoDB | 4 vCPUs | 16 GB | 100 GB | Core database managing transaction data and ledger operations. Scales based on data growth and transaction volume. |
Privacy Ledger Infrastructure
The Privacy Ledger provides secure, private financial transactions while integrating with the broader Rayls Ecosystem. Below are the minimum system requirements for each key component of the Privacy Ledger infrastructure:
Component | CPU | Memory | Disk | Notes |
---|---|---|---|---|
Relayer | 4 vCPUs | 4 GB | 20 GB | Facilitates communication between the Privacy Ledger and Private Subnet networks for cross-chain transaction flows. |
MongoDB | 4 vCPUs | 16 GB | 100 GB | Core database managing transaction data and ledger operations. Scales based on data growth and transaction volume. |
Privacy Ledger Block Explorer | 2 vCPUs | 4 GB | 20 GB | Tool for monitoring and tracking transactions within the Privacy Ledger. Requires minimal CPU and disk resources. |
Custody Light | 2 vCPUs | 4 GB | 20 GB |
MongoDB
MongoDB is the core database manager for Rayls. Its sizing will depend on the chosen architecture, and also on how many Rayls Components (Privacy Ledgers and Relayers) will be sharing the same instance or cluster.
A standard MongoDB setup running over 4 vCPU and 16GB of RAM is usually enough to start with one Privacy Ledger and one Relayer, without performance bottlenecks. The disk size will depend on how many transactions will flow in the Privacy Ledgers, and how many blocks will be imported by the Relayer. A suggested size of 100GB is a good starting disk configuration.
For production environments it is particularly important to monitor the database disk consumption, enabling auto scaling strategies when possible. An option to consider could be adopting cloud based managed services (like MongoDB Atlas), which provides scalability features.
Read more in MongoDB Documentation.
PostgreSQL
The Postgres database manager will support the Flagger, the Listener, and the Governance API components, and requires at least 2 vCPU with 4 GB of RAM. Most of the sizing remarks made on MongoDB will also apply here. Also in this case, 100GB is considered a good starting point.
Read more in PostgreSQL Documentation.
Scaling Considerations
For both Private Subnet and Privacy Ledger, the infrastructure can be scaled vertically and horizontally depending on the system's load and transaction volume.
- Vertical Scaling: As transaction volumes increase, components like MongoDB and Relayers can scale vertically by adding more CPU and memory resources to existing nodes. This ensures continued performance and avoids bottlenecks.
- Horizontal Scaling: For production environments, it is recommended to scale MongoDB into replica sets or use managed cloud services like MongoDB Atlas, which support automated scaling and replication.
- Storage Scaling: The size of MongoDB and Commit Chain storage will grow with the transaction volume. Implement automated storage scaling strategies where possible to prevent system failures due to storage limits. Cloud-based services often offer elastic storage options.
Updated about 2 months ago