Running Multiple Multichain Instances

+1 vote
I'm working on a project where we want to use Multichain to allow groups of users to interact with each other.  Since the number of users of the system is quite large, and any given user may be part of multiple groups, we would like to use Multichain to create separate chains for each of these groups.  The chains are intended to act as an auditable history of the actions taken by the members of the each group.

Given this situation, we will need to be able to run a bunch of Multichains at the name time. Since multichaind only controls a single blockchain, this means multiple instances of multichaind have to be running.  This will be resource intensive and puts a hard limit on the number of chains we can run.

Is there a recommended solution for running large numbers of chains?  We are looking at, in certain cases, having thousands of chains running on a machine.
asked Jan 15, 2018 by jhaager

1 Answer

+1 vote
Best answer

On Linux an idle instance of multichaind will take about 0.15% of a CPU core (measured on a 2.4 GHz Xeon) and 40 MB of RAM. So if you get yourself an 16-core server with say 512 GB of RAM, in theory it can run 10000 instances of MultiChain.

Of course I'm sure it won't work out quite so well in reality - because your instances won't be idle, and because there will be some contention over memory and disk access. Nonetheless it's not a completely crazy prospect, and I can only recommend that you run some tests to see what you can do.

answered Jan 17, 2018 by MultiChain
selected Jan 17, 2018 by jhaager
What is the largest number of instances that you have run on a single box?  And how to do you mange all the processes?
To be frank we've never done anything on this scale, so you would be pioneering new territory from our perspective. But each MultiChain process is basically oblivious to the others, so you shouldn't come up against any MultiChain-specific issues. It's just about resource sharing and contention on the OS level.