Skip to content
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

[BUG] Performance tests for 1.3 unable to detect indexing performance degradation #2985

Closed
kotwanikunal opened this issue Apr 19, 2022 · 14 comments
Assignees
Labels
benchmarking Issues related to benchmarking or performance. blocked Identifies issues that are blocked bug Something isn't working

Comments

@kotwanikunal
Copy link
Member

Describe the bug

  • For 1.3, we ran performance tests where the results were in line or better than the previous tests for 1.2.4 in similar/same configuration(s)
  • [BUG] Indexing Performance Degraded in OpenSearch 1.3.+ #2916 was raised where we noticed a drop in indexing performance
  • The performance tests were unable to detect this

To Reproduce

Expected behavior

  • Performance tests should have detected the anomalous behavior

Plugins

  • Default distro bundle

Screenshots

  • N/A

Host/Environment (please complete the following information):

Additional context

  • N/A
@kotwanikunal kotwanikunal added bug Something isn't working benchmarking Issues related to benchmarking or performance. labels Apr 19, 2022
@reta
Copy link
Collaborator

reta commented Apr 19, 2022

@kotwanikunal we have this benchmarking issue already opened [1], I think the automation of the benchmark runs would have been a life saver for such kind of issues.

[1] #1276

@mattweber
Copy link
Contributor

Something along the lines of Lucene nightly benchmarks or Elasticsearch Benchmarks would be great to have for OpenSearch.

@reta
Copy link
Collaborator

reta commented Apr 19, 2022

Something along the lines of Lucene nightly benchmarks or Elasticsearch Benchmarks would be great to have for OpenSearch.

Exactly, unfortunately, the CI is not open (yet), it is a bit limiting towards contributions

@kotwanikunal
Copy link
Member Author

@reta @mattweber From my understanding on #2916, there should have been a huge performance difference in the numbers that we got when running the performance tests with 1.2.4 and 1.3.0 with the bundled JDK.

The testing that we ran for 1.3.0 release has the results here - opensearch-project/opensearch-build#889 (comment)
But we did not see any drop or anomaly in the result. I am also investigating on why did that happen.

@kotwanikunal kotwanikunal self-assigned this Apr 19, 2022
@mattweber
Copy link
Contributor

@kotwanikunal probably need to run more than the nyc_taxis data set to test various gc profiles. The type of docs I was indexing in #2916 are large with a lot of free text so the analysis process tends to generate a lot of objects that need to be collected.

@kotwanikunal
Copy link
Member Author

kotwanikunal commented Apr 19, 2022

On further discussions with the benchmarking team, the current available workloads do not provide support for very large documents. nyc_taxis is the recommended workload to test with these limitations.
I have scheduled runs for additional 1.2.4 and 1.3.0 tests to account for any variances between the reported numbers with nyc_taxis. I will be posting the results here post test completion.

In the meanwhile, exploring further options to reproduce the reported performance drops using the current performance test framework.

cc: @travisbenedict

@kotwanikunal
Copy link
Member Author

Update: The recently run tests on 1.2.4 seem to echo similar metrics as opensearch-project/opensearch-build#889 (comment). 1.3.0 seems to perform equivalent and even better in the runs with the same config.

Added in a feature request to the benchmarking team to add larger documents with free text to further strengthen the test outcomes and notice any anomalies earlier in the feature building stages.

Ref: opensearch-project/opensearch-benchmark-workloads#43

@mattweber
Copy link
Contributor

@kotwanikunal in the metrics you link to, look at the GC (ms) Old column. Going from 0 in every 1.2.4 test to really anything else could be an indicator something has changed. Old GC are typically the "bad" ones that cause all the issues.

@dblock
Copy link
Member

dblock commented Apr 21, 2022

@kotwanikunal Do I understand it correctly that in order to identify the performance regression we will need opensearch-project/opensearch-benchmark-workloads#43? In which case we probably want to reopen this issue, and only close it when we have performance test automation that notices this regression.

@kotwanikunal kotwanikunal reopened this Apr 21, 2022
@kotwanikunal
Copy link
Member Author

@dblock I have reopened the issue in that case. I'll wait for updates on opensearch-benchmark-workloads#43

@saratvemulapalli
Copy link
Member

@kotwanikunal this issue is tagged 2.1.0.
Is this something you are taking care of ? We are code freeze for 2.1, ring the bells if this is a blocker.

@kotwanikunal
Copy link
Member Author

@saratvemulapalli This issue is open because we are waiting on opensearch-project/opensearch-benchmark-workloads#43. This affects the performance tests generally, and not just for v2.1.0.
The feature request is still pending and might not be available anytime soon.

@dblock Any concerns if we drop the version label from this issue given its general nature?

@dblock
Copy link
Member

dblock commented Jun 28, 2022

@kotwanikunal No concerns dropping the label, except that we still have this problem and I hope it gets prioritized ;)

@kotwanikunal kotwanikunal removed the v2.1.0 Issues and PRs related to version 2.1.0 label Jun 28, 2022
@kotwanikunal
Copy link
Member Author

Based on the new public dashboard and infra, it seems like we have the right mechanisms in place to track and detect any further issues. Closing this issue out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
benchmarking Issues related to benchmarking or performance. blocked Identifies issues that are blocked bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants