Skip to content
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

rpcdaemon: eth_getTransactionReceipt performance degradation at high rate #1979

Open
lupin012 opened this issue Apr 22, 2024 · 0 comments
Open
Labels
performance Performance issue or improvement priority:medium Issue or task currently not too important

Comments

@lupin012
Copy link
Contributor

lupin012 commented Apr 22, 2024

Looking at these performance measurements, it is possible to spot some degradation when increasing the request rate (i.e. query-per-second/duration, QPS/T):

  • at rate 10000:20 we have max latency about 15 ms in Silkworm, a few seconds in Erigon
  • when rate becomes 20000:20 in both systems max latency is over 20 seconds

Hence, Silkworm is showing quite a large performance degradation when QPS goes from 10000 to 20000.

In PR #1958 we tried to offloading some processing (specifically, the main hotspot highlighted by perf in laptop machine) to worker threads, but performance-wise things get even worse.

@canepat canepat changed the title eth_getTransactionReceipts performance misure degradation from 10000:20 to 20000:20 eth_getTransactionReceipt: performance degradation at high rate Apr 22, 2024
@canepat canepat changed the title eth_getTransactionReceipt: performance degradation at high rate rpcdaemon: eth_getTransactionReceipt performance degradation at high rate Apr 22, 2024
@canepat canepat added the performance Performance issue or improvement label Apr 22, 2024
@canepat canepat added the priority:medium Issue or task currently not too important label May 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Performance issue or improvement priority:medium Issue or task currently not too important
Projects
None yet
Development

No branches or pull requests

2 participants