-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Closed
Description
As part of being able to benchmark testnets running the kvstore, we need a tool that can generate and submit transactions to a Tendermint node running the kvstore.
Requirements:
- In order to get a rough estimate of latency vs throughput, we discussed that we need to embed the following within the transactions themselves:
- The transaction generation time.
- The configured throughput rate for the load generation tool (i.e. if the tool is configured to generate 200 txs/sec, we need to embed this "200" value somewhere in the tx data itself).
- Padding data to ensure that each full transaction is of a particular size.
- Each full transaction must be 1kB in size.
- The rate at which we submit transactions to a node must be configurable.
Additional considerations:
- There was discussion last week regarding whether to include the timestamp in the transaction key or the value, and it was suggested that putting it into the value may be more optimal in terms of its impact on the state store.
- It would also be optimal in terms of transaction generation to make use of the WebSocket endpoint to submit transactions, but not subscribe to receive transaction inclusion notifications as this information would be adequately extracted by qa: Tool to estimate transaction latency from block data for kvstore app #9331.
- It may be useful to consider https://github.com/informalsystems/tm-load-test for this purpose. See specifically this documentation regarding how to build your own custom load generator using tm-load-test as a framework.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Done/Merged