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 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 by MultiChain
selected Mar 4 by multichain_user123
Thank you very much. I get a much better throughput now.