load-testing-client
v1.0.0
Published
TypeScript client-based load testing for core-ledger-service
Maintainers
Readme
TypeScript Client Load Testing
TypeScript load tests using the native LedgerClient.
Quick Start
Run from the parent directory:
cd .. && npm startSelect "client" when prompted for test type.
Architecture
runner.ts (Primary Process)
├── Creates shared data pool
├── Spawns worker processes
├── Collects and aggregates metrics (t-digest for accurate percentiles)
└── Reports final results
worker.ts (Worker Process)
├── Receives data pool from primary
├── Creates LedgerClient instance
├── Runs scenarios at configured rates
└── Reports metrics back to primaryScenarios
| Scenario | LedgerClient Method | | ---------------------------------- | ---------------------------------------- | | open_account | client.accounts.createMany() | | open_account_with_sub_accounts | client.accounts.createManySubAccounts() | | transfers_without_allocations | client.transfers.create() | | transfers_with_allocations | client.allocations.create() | | user_to_internal_transfers | client.transfers.create() | | internal_to_user_transfers | client.transfers.create() | | get_account | client.accounts.getMany() | | get_balance | client.balances.getMany() | | reverse_transfers | client.transfers.fullyReverse() | | generate_balance_summary | client.balances.generateBalanceSummary() | | get_transfers_by_transaction_ref | client.transfers.get() | | get_allocations_by_transaction_ref | client.allocations.get() |
