2

Is there a method of quick approximation (possibly through benchmarking) - of the chain - that could give a good bound on the resources a substrate node would use?

I'm considering running a network on a hosted service and I wanted to know how much space or memory is safe to allocate to 5-6 nodes as the compiled program takes about 6ish GB.

The runtime is here: https://github.com/chocolatenetwork/chocolate-node

2
  • 1
    I don't believe you need all 6 gigs of of compiled artifacts to run a node, though I would like someone to correct me. I just pick the executable from release folder and run it without problems. Feb 16, 2022 at 8:32
  • 1
    Thanks for pointing this out! I just tried your suggestion and it works just fine without the rest of the compiled artifact. This really slims down the final image
    – islami00
    May 14, 2022 at 21:48

1 Answer 1

4

You can limit resources using Virtualization solutions such as Kubernetes or use Systemd.

Please note however that you should not consider a single limit. The load on your system will vary over time depending on what the node is currently doing.

At first, your node will be syncing and you will see lots of networking and io. Once your node is "cruising", you still will see spikes from time to time and you need to account for those as well. Those spikes can be due to regular and plannable events such as new Eras, etc... or sporadic events such as a runtime upgrade or having to process a big transaction.

I personally like to set my limits tight at first to see what they really need to be, then add a 30% buffer to account for those spikes. For a non validator node, this is rather easy to do and you can easily "take the risk", for a validator, I would suggest having a "plan B" (ie validator node ready to take over) if your limits happen to be to tight and your node gets killed.

Also note that whatever limits you define today will change in the future based on:

  • new versions of the runtime
  • new version of the client
  • number and type of transactions to process

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.