forked from XRPLF/rippled
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Automatically determine the node size:
The `[node_size]` configuration parameter is used to tune various parameters based on the hardware that the code is running on. The parameter can take five distinct values: `tiny`, `small`, `medium`, `large` and `huge`. The default value in the code is `tiny` but the default configuration file sets the value to `medium`. This commit attempts to detect the amount of RAM on the system and adjusts the node size default value based on the amount of RAM and the number of hardware execution threads on the system. The decision matrix currently used is: | | 1 | 2 or 3 | ≥ 4 | |:-------:|:----:|:------:|:------:| | > ~8GB | tiny | tiny | tiny | | > ~12GB | tiny | small | small | | > ~16GB | tiny | small | medium | | > ~24GB | tiny | small | large | | > ~32GB | tiny | small | huge | Some systems exclude memory reserved by the the hardware, the kernel or the underlying hypervisor so the automatic detection code may end up determining the node_size to be one less than "appropriate" given the above table. The detection algorithm is simplistic and does not take into account other relevant factors. Therefore, for production-quality servers it is recommended that server operators examine the system holistically and determine what the appropriate size is instead of relying on the automatic detection code. To aid server operators, the node size will now be reported in the `server_info` API as `node_size` when the command is invoked in 'admin' mode.
- Loading branch information
1 parent
10e4608
commit 433fead
Showing
7 changed files
with
179 additions
and
48 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters