Performances benchmark

+1 vote
Hi guys,

I have not found a recent performances benchmark.

Is there one somewhere ? I have read that the new wallet was tremendously more efficient, and that multichain engine is able to handle millions of assets, but are there somewhere some performances reports, graphs?

I'm especially interested in benchmarks with a lot of assets, lot of transactions of course, and also measurement of the underlying DB volume space.

Our local tests show that with a 4 node cluster doing nothing (so 1 empty transaction every 15s) the .multichain folder is growing by ~80 MB a week, is this expected ? is there a way to reduce this volume (i mean something different than making the empty transaction occurs less often ;-) since the problem here is more the transactions/db volume ratio than the volume of the db when the node is doing nothing).

I understand that the volume of the db depends on the number of transactions, and the metadata size contained in the transactions/stream items (among other things), but the simple test of an idle cluster is showing us that the db is growing fast.

For example, if a node doesn't subscribe to a stream, will its DB volume grow the same way than if it has subscribed ?


thanks a lot for any information about this performances/db volume benchmarks.




asked Jan 19, 2017 by Sebastien
edited Jan 19, 2017

1 Answer

+2 votes
Best answer
In general MultiChain can currently handle throughput of a few hundred transactions per second at every level (API, wallet, node, mining, network). This figure is based on our own tests as well as those performed by quite a few third party MultiChain users.

We haven't yet published detailed benchmarks because we are still optimizing the code base, and expect to see a significant increase in throughput before the 1.0 release, as well as a significant decrease in disk usage by reducing the quantity of debug information logged, and making some of the data stored more efficiently in internal databases.

The database growth you're seeing is due to the extra information stored about each empty block. The next alpha release of MultiChain will provide the option of not creating these empty blocks, so block creation will automatically pause until there is something to put in the block. That will make a huge difference to disk usage in environments with low transaction rates.
answered Jan 19, 2017 by MultiChain
One more thing - yes, the disk usage growth is different in nodes that subscribe to a stream and those who do not. This is because subscribed nodes index the data in a stream in many different ways to enable efficient retrieval via APIs like liststreamitems, liststreampublishers, liststreamkeyitems.
Can I have an update please? one year on. (performance)