services/horizon/internal/integration: Add load test which generates ledgers loaded with soroban Tx Meta #5556
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Checklist
PR Structure
otherwise).
services/friendbot
, orall
ordoc
if the changes are broad or impact manypackages.
Thoroughness
.md
files, etc... affected by this change). Take a look in the
docs
folder for a given service,like this one.
Release planning
CHANGELOG.md
within the component folder structure. For example, if I changed horizon, then I updated (services/horizon/CHANGELOG.md. I add a new line item describing the change and reference to this PR. If I don't update a CHANGELOG, I acknowledge this PR's change may not be mentioned in future release notes.semver, or if it's mainly a patch change. The PR is targeted at the next
release branch if it's not a patch change.
What
Close stellar/stellar-rpc#330
This PR implements an integration load test to generate ledgers with soroban transactions. The test can be configured using the following parameters:
transactions-per-ledger
number of transactions per ledgertransfers-per-tx
number of asset transfers for each transactionledgers
number of ledgers to generateThe test will output
ledgers
number of ledgers each containingtransactions-per-ledger
transactions. Each transaction will havetransfers-per-tx
asset transfers. Half the asset transfers will result in movement among accounts and the other half of the transfers will result in movement between accounts and contracts.The test is implemented as follows:
The transactions are carefully designed to make the merging operation safe. In particular, we ensure that the source / fee account of each transaction is not used or modified more than once within the batch of ledgers which will be merged.
Why
Currently, the number of soroban transections per ledger is limited but in the future we plan to raise that limit. But before doing so, we would like to use this tool to generate ledgers with a high volume of soroban activity so we can test the limits of horizon and rpc ingestion.
#5482
Known limitations
[N/A]