mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-19 10:22:23 +00:00
Add new command line option --database-handles (#16796)
This allows tuning the go-leveldb OpenFilesCacheCapacity (capacity of the open files) and thus improve performance by reducing the number of open/close syscalls.
This commit is contained in:
parent
580145e96d
commit
d23ad53cb4
3 changed files with 9 additions and 1 deletions
|
|
@ -92,6 +92,7 @@ var (
|
|||
utils.CacheDatabaseFlag,
|
||||
utils.CacheGCFlag,
|
||||
utils.TrieCacheGenFlag,
|
||||
utils.DatabaseHandles,
|
||||
utils.ListenPortFlag,
|
||||
utils.MaxPeersFlag,
|
||||
utils.MaxPendingPeersFlag,
|
||||
|
|
|
|||
|
|
@ -134,6 +134,7 @@ var AppHelpFlagGroups = []flagGroup{
|
|||
utils.CacheDatabaseFlag,
|
||||
utils.CacheGCFlag,
|
||||
utils.TrieCacheGenFlag,
|
||||
utils.DatabaseHandles,
|
||||
},
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -307,6 +307,11 @@ var (
|
|||
Usage: "Number of trie node generations to keep in memory",
|
||||
Value: int(state.MaxTrieCacheGen),
|
||||
}
|
||||
DatabaseHandles = cli.IntFlag{
|
||||
Name: "database-handles",
|
||||
Usage: "Number of file handles to use for database io",
|
||||
Value: makeDatabaseHandles(),
|
||||
}
|
||||
// Miner settings
|
||||
MiningEnabledFlag = cli.BoolFlag{
|
||||
Name: "mine",
|
||||
|
|
@ -1136,7 +1141,8 @@ func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *eth.Config) {
|
|||
if ctx.GlobalIsSet(CacheFlag.Name) || ctx.GlobalIsSet(CacheDatabaseFlag.Name) {
|
||||
cfg.DatabaseCache = ctx.GlobalInt(CacheFlag.Name) * ctx.GlobalInt(CacheDatabaseFlag.Name) / 100
|
||||
}
|
||||
cfg.DatabaseHandles = makeDatabaseHandles()
|
||||
|
||||
cfg.DatabaseHandles = ctx.GlobalInt(DatabaseHandles.Name)
|
||||
|
||||
if gcmode := ctx.GlobalString(GCModeFlag.Name); gcmode != "full" && gcmode != "archive" {
|
||||
Fatalf("--%s must be either 'full' or 'archive'", GCModeFlag.Name)
|
||||
|
|
|
|||
Loading…
Reference in a new issue