iri
iri copied to clipboard
Nightly test: measuring API performance on a node
Description
[Reconsider the estimate based on whether the GTTA nightly test is done and if that changes the estimate]
Measure the performance of individual API calls on a syncing and synced node on TIAB.
Then we move to Spamnet in the next iteration of this issue - once we make more sense of the results.
Motivation
We want to be able to tell if the performance of the individual API call paths was affected by any recent changes.
We do the calls sequentially. We don't do different API calls in parallel so they don't affect one another.
Issues / Scenarios
- [ ] Use jMeter to simulate different workers.
Syncing node:
- Start up a node from the local snapshot files on dbfiles.iota.org.
- For each API that we have, sequentially:
- [ ] Make a 100 calls with the same parameters and log the time it takes to respond to all of them.
- [ ] Make a 100 calls with the same parameters and log the time it takes to respond to all of them.
- [ ] Log the results.
- [ ] Move on to the next API call.
Synced node: Once the node syncs:
- For each API that we have, sequentially:
- [ ] Make a 100 calls with the same parameters and log the time it takes to respond to all of them.
- [ ] Make a 100 calls with the same parameters and log the time it takes to respond to all of them.
- [ ] Log the results.
- [ ] Move on to the next API call.
Setting a baseline and thresholds
- [ ] Visualize the results and go through the results and discuss the baseline / set thresholds.
This has not been changed to closed because we are waiting for devops to finish some other tasks before fully finalizing issue. Which is about 90% done. We already have a functioning Jmeter pipeline
We have jmeter tests running for GTTA, but none for the other api calls We just need to add them to the folder