How to properly test transactions throughput?

+1 vote


I’d like to test transactions throughput.

My idea was:

  • only one node

  • only one address involved

  • only one asset issued

  • make n transactions (calls to sendasset(); one unit sent)

I am using python 3.7 and Savoir. I take the time used to make n transactions, thus the average time per transaction and finally the transactions per second.

I tested on different machines (with n = 100, 1000, 10000) and I don’t get good results when comparing to these: .

In particular, with n=10000, I get ~11 TX/s. Am I doing something wrong? Is my machine not good enough (Intel Core i7 2600 @ 3.40 GHz with 8 gigabytes of ram)?

Also, are there any initial blockchain parameters that could influence the throughput so much?

Thank you very much.


asked Mar 1, 2019 by multichain_user123

1 Answer

+1 vote
Best answer
Your main problem is likely to be UTXO (unspent transaction output) inflation, if you keep sending this asset to an address on the node, it will have a very large numbers of UTXOs to deal with when creating a new transaction. Your better bet is to send small units of the asset to the chain's burn address, then you'll see much better throughput.
answered Mar 4, 2019 by MultiChain
selected Mar 4, 2019 by multichain_user123
Thank you very much. I get a much better throughput now.