Proposed changes to the default rippled.cfg file

Proposal: Change default node size to huge instead of medium

Why we might want to do this:
RAM is heavily used by rippled. Production deployments of rippled should be equipped with at least 32GB of RAM. Increasing the default node size to ‘huge’ would encourage operators to use 32GB of RAM by default.

Why we might not want to do this:
This is inconvenient to people who don’t have access to 32GB of RAM. Operators who are running a production node should be aware of the node_size setting and adjust it accordingly.

Proposal: Change default online_delete setting to 30000

Why we might want to do this:
Online Deletion uses system resources to delete old ledger versions. The current default of 2000 only stores a few hours of history which means online deletion happens frequently. Increasing it to 30000 would store more (on the order of days) ledger versions so online deletion would occur less frequently. See Capacity Planning for more details on how much disk space this would use.

Why we might not want to do this:
More disk space is required by default. It think it would take between 10 and 20 GB of space to store this many ledgers based on the chart in the link above.

As far as I remember, online_delete is going to spend roughly the same amount of total time no matter what it’s set to. So if you increase the value, it’ll run less often, but it’ll take more time to run when it does. Maybe that’s worth it, maybe not.

I think @ximinez is right, that performance won’t improve by increasing the default amount of ledger history stored. However, that’s not why I’d increase the online deletion default: I think it’s probably just more useful to have a little bit more history available most of the time; if the disk space requirements weren’t so high, I’d say anywhere from 30-90 days would be an ideal default.

On the subject of RAM, the “minimum” system requirements definitely need to be higher than 8GB for the production ledger nowadays, but I’m not sure if the right “minimum” is 16 or 32. The “recommended” requirements of 32 GB are probably still safe. But yeah, I would be on board with increasing the default node_size to “huge” to match the RAM.

Moving forward, I think it makes the most sense to change rippled itself so it chooses a node_size automatically. It should be possible for rippled to detect how much RAM is available and choose the appropriate setting unless the user explicitly overrides it.