-
Notifications
You must be signed in to change notification settings - Fork 288
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
Add performance and longevity testing validation to the release template #1752
Add performance and longevity testing validation to the release template #1752
Conversation
Signed-off-by: Travis Benedict <benedtra@amazon.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the long page of details of how to identify regression tests doesn't belong here. We have a TODO in https://github.com/opensearch-project/opensearch-build/tree/main/src/test_workflow#performance-tests to fill out performance testing, care to move it there as part of this PR?
Signed-off-by: Travis Benedict <benedtra@amazon.com>
src/test_workflow/README.md
Outdated
@@ -99,7 +99,65 @@ opensearch-dashboards=https://ci.opensearch.org/ci/dbc/bundle-build-dashboards/1 | |||
|
|||
### Performance Tests | |||
|
|||
TODO | |||
TODO: Add instructions on how run performance tests with `test.sh` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These instructions can be updated with #1671 or after it's merged
src/test_workflow/README.md
Outdated
|
||
|
||
|
||
#### How to identify regressions in performance tests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add to TOC, cleanup capitalization to match other topics.
I would rename to "Identifying Regressions in Performance Tests"
src/test_workflow/README.md
Outdated
|
||
Disclaimer: the guidelines listed below were determined based on empirical testing using OpenSearch Benchmark. | ||
These tests were run against OpenSearch 1.2 build #762 and used the nyc_taxis workload with 2 warmup and 3 test iterations. | ||
The values listed below are **not** applicable to other configurations. More details on the test setup can be found here: https://github.com/opensearch-project/OpenSearch/issues/2461 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This disclaimer is scary. It says that you cannot trust results. Try to be more prescriptive, remove that this is a disclaimer. What is one supposed to actually do? Run tests, then compare results. That's what this doc should say.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good points. I'll rewrite this section
src/test_workflow/README.md
Outdated
|
||
Note that performance regressions are based on decreased indexing throughput and/or increased query latency. | ||
|
||
Additionally, error rates on the order of 0.01% are acceptable, though higher ones may be cause for concern. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be a section of its own. What happens if the error rates are higher? What does one do?
src/test_workflow/README.md
Outdated
|
||
|
||
|
||
#### How to identify issues in longevity tests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's zero information on what longevity tests are anywhere in these docs. To an uneducated reader it's impossible to understand what one does with it. Please provide context to all these things.
Signed-off-by: Travis Benedict <benedtra@amazon.com>
Signed-off-by: Travis Benedict <benedtra@amazon.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a lot better, thank you! I went super nitpicky on the comments, feel free to make some/none/all the changes.
@@ -3,6 +3,9 @@ | |||
- [Integration Tests](#integration-tests) | |||
- [Backwards Compatibility Tests](#backwards-compatibility-tests) | |||
- [Performance Tests](#performance-tests) | |||
- [Identifying Regressions in Performance Tests](#identifying-regressions-in-performance-tests) | |||
- [Identifying Regressions in Nightly Performance Tests](#identifying-regressions-in-nightly-performance-tests) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you mean all these to the at the same level?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I meant for the Nightly test section to be a subsection of performance tests in general, since it's worth reading that section first to get some background.
Signed-off-by: Travis Benedict <benedtra@amazon.com>
Thanks for the help on this @dblock. I really appreciate the feedback |
Signed-off-by: Travis Benedict benedtra@amazon.com
Description
Add steps to the release template for validating performance and longevity test results. These steps are not necessarily exhaustive but can serve as a starting point for our release process. Ultimately, these validations should be automated as our performance testing automation is built out more.
More details on the testing setup can be found in this issue outlining the results of performance experiments that I conducted - opensearch-project/OpenSearch#2461
Issues Resolved
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.