2

Hey guys I have a performance related question. I am running 2 aws instance (t2.2xlarge) with 30GB storage. I am running a v2.0 node (branched from master a few days ago) on each with the default setup and i am testing how many transactions per second i can process.

Sending 495 (just under the default 500) balance transfer transactions averages around 22 transactions per second. Is this expected?

I tried running the same test locally (Dell XPS with 1T storage and I7 processor) with 2 instances (both with node-template and node) and the highest average TPS i have seen is 35. Is there anything i can do to improve this?

Thanks

4

1 回答 1

4

Transactions per second = transactions per block * blocks per second.

Blocks per second can be adjusted straightforwardly in the default Substrate node by changing the MILLISECS_PER_BLOCK constant here or in the node template here.

Transactions per block is slightly squishier because the limits are not on number of transactions but on total size of transactions and total weight of transactions. Both of these properties can be adjusted in the system pallet's configuration trait (eg here in the node template). You can read more about these parameters in the conceptual doc on Transaction Weights.

Once you have those parameters adjusted so that your throughput is no longer artificially throttled, then you can begin experimenting to see what's attainable in your target network conditions. As to what results you can expect, I'm not really sure, but I look forward to hearing about the experiment.

于 2019-12-18T14:54:11.103 回答