5

How many concurrent RPC calls can a Geth client handle?

If it has a queue, is a sendTransaction counted against the concurrency limit until it's processed in a block? And are call transactions dropped from the queue as soon as Geth returns a value (so that Geth is not waiting for a whole block)?

2

I can share my experience. If you do lots (for example 5000) sendTransaction calls from geth console - they will be queued (not in txpool as I can see, it shows all network transactions, not yours) and will be sent in batches if you have enough balance on sending account. When the balance drops too low - sending will be paused. Then, no matter what you do (restarting geth doesn't clean the queue, here is the question how to clear it) the sending will resume as soon as you refill your address (it required about 2 minutes for my node to recognise that it can spend all my balance again.

1

To be honest, we haven't measured. An account management conceptual issue was found a while ago that puts more pressure on the HDD that we imagined, causing hiccups on many concurrent requests that need to touch any of the accounts. This was fixed by Felix and is pending merge in a PR (https://github.com/ethereum/go-ethereum/pull/2284) but needs some finishing touches before it can be reviewed and merged.

In theory there aren't any effective limits, only performance ones, however those depend on the exact operations you are executing.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.