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

Investigate/Remove the limit at about 6KTPS of the native token benchmark w/ direct injection #12940

Open
ssavenko-near opened this issue Feb 17, 2025 · 0 comments
Assignees
Labels
A-benchmark Area: performance benchmarks A-contract-runtime Area: contract compilation and execution, virtual machines, etc P-medium Priority: medium

Comments

@ssavenko-near
Copy link
Contributor

Description

Running the benchmarking tool at benchmarks/transactions-generator with increasing target TPS does result in increase in accepted and processed TPS up to ~6KTPS(on my private PC). Any further increase in target TPS does not seem to contribute significantly to the actual TPS.
The 'unlimiting" changes to config are applied (by just do-it <TPS>).
The transactions do not even seem to be generated (see the logs below).
The PC is capable of generating about 30000 TPS at least in a single thread, so that should not be limiting factor.

Steps to reproduce

  • run the tool in the benchmarks/transactions-generator with just do-it 5000
  • run the tool with just do-it 50000
  • observe the actual transaction rate being roughly the same

Logs extracts

$ just do-it 5000
...
2025-02-17T09:34:06.673225Z INFO transaction-generator: diff="Stats { pool_accepted: 5764, pool_rejected: 0, processed: 6450, failed: 0 }"
2025-02-17T09:34:07.455162Z INFO transaction-generator: diff="Stats { pool_accepted: 4884, pool_rejected: 0, processed: 3401, failed: 0 }"
2025-02-17T09:34:08.565412Z INFO transaction-generator: diff="Stats { pool_accepted: 4767, pool_rejected: 0, processed: 6607, failed: 0 }"
2025-02-17T09:34:09.455274Z INFO transaction-generator: diff="Stats { pool_accepted: 5201, pool_rejected: 0, processed: 3050, failed: 0 }"
...

$ just do-it 50000
2025-02-17T09:36:16.258822Z INFO transaction-generator: diff="Stats { pool_accepted: 6265, pool_rejected: 0, processed: 6441, failed: 0 }"
2025-02-17T09:36:17.055366Z INFO transaction-generator: diff="Stats { pool_accepted: 4952, pool_rejected: 0, processed: 4104, failed: 0 }"
2025-02-17T09:36:18.113895Z INFO transaction-generator: diff="Stats { pool_accepted: 4855, pool_rejected: 0, processed: 6501, failed: 0 }"
2025-02-17T09:36:19.055316Z INFO transaction-generator: diff="Stats { pool_accepted: 6141, pool_rejec

@ssavenko-near ssavenko-near self-assigned this Feb 17, 2025
@ssavenko-near ssavenko-near added A-benchmark Area: performance benchmarks A-contract-runtime Area: contract compilation and execution, virtual machines, etc P-medium Priority: medium labels Feb 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-benchmark Area: performance benchmarks A-contract-runtime Area: contract compilation and execution, virtual machines, etc P-medium Priority: medium
Projects
None yet
Development

No branches or pull requests

1 participant