-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sudden drop in TPS around 14k transactions (Quorum IBFT) #479
Comments
New benchmark. >400 TPS!On a dockerized crux-quorum with 4 nodes. Surprise: web3 turned out to be a huge bottleneck now! initially over 450 TPS !!! (but only during the first ~14,000 transactions, then it drops to ~270 TPS, mysteriously. Any ideas, anyone?)
|
Hey @drandreaskrueger looks great. As to the drop off at 14k txns, since you are already tinkering with the cli options for geth, please look into these as well:
These are from: https://github.com/ethereum/go-ethereum/wiki/Command-Line-Options. Also, for the report, might be good to also keep track of queued txns. |
Thanks a lot. I have now tried
but no change in behavior. Sudden TPS drop around 14k transactions, look at
|
same observation also in geth v1.8.13 (not only in quorum) |
any new ideas about that? |
You can now super-easily reproduce my results, in less than 10 minutes, with my Amazon AMI image: https://gitlab.com/electronDLT/chainhammer/blob/master/reproduce.md#readymade-amazon-ami |
any new ideas about that? |
@drandreaskrueger @fixanoid Any updates on why the TPS drop occurs around 14K? Thanks :) |
@drandreaskrueger Is this result for AWS consistent, or it was a one-time feat? |
Last time I checked, the problem was still there. But it seems to be caused upstream, because look at this: ethereum/go-ethereum#17447 (comment) It happens in geth too! |
Perhaps you can help them to find the cause? |
That's a good idea. We'll look into it too after the upgrade to 1.8.18. |
Cool, thanks. There will soon be a whole new version of chainhammer, with much more automation. Stay tuned ;-) |
@drandreaskrueger is the AWS result with the web3 lib? Did you try with direct RPC calls(as you mentioned that web3 causes a lot of damage to the TPS)? |
I had tried both, via web3 and via direct RPC calls. The latter was usually faster, so I have done all later measurements with RPC calls. The old code is still there though, and the switch is here, so you can simply try yourself: https://github.com/drandreaskrueger/chainhammer/blob/223fda085aad53c1cbf4c46c336ad04c2348da82/hammer/config.py#L40-L41 You can also read this: it links into the relevant code pieces |
Oh, oops - I have been missing a lot then. But why v1.8.18 - your release page talks about 2.2.1? Still doing all my benchmarks with a Quorum version that calls itself ... because I am benchmarking quorum via the excellent dockerized 4 nodes setup created by blk-io, see here which is less heavy than your vagrant virtualbox 7 nodes setup. For all my benchmarking, I could find dockerized versions of Geth, Parity, and Quorum - and blk-io/crux is the one I am using for quorum. |
chainhammer v55I have just published a brand new version v55: https://github.com/drandreaskrueger/chainhammer/#quickstart Instead of installing everything to your main work computer, better use (a virtualbox Debian/Ubuntu installation or) my Amazon AMI to spin up a Then all you need to do is:
and afterwards check Hope that helps! Keep me posted please. |
Looks great. What is the performance with 100 nodes? |
Just try it out. I am importing the If you look into their details, extending this from 4 nodes to 100 nodes looks doable, just tedious: It would have to be a very large machine. And I would not expect huge changes. This type of distributed ledger technology doesn't get faster by plugging in more nodes, no? |
Has anyone tried to test the latest |
IBFT seems to max out around 200 TPS when run in the 7 nodes example.
--> see these results
However, the original publication is talking about 800 TPS with Istanbul BFT. How did they do it?
Any ideas how to get this faster?
Thanks!
The text was updated successfully, but these errors were encountered: