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

Documentation of performance test 1.3 #1309

Merged
merged 2 commits into from
Apr 21, 2022

Conversation

graytaylor0
Copy link
Member

@graytaylor0 graytaylor0 commented Apr 11, 2022

Signed-off-by: Taylor Gray [email protected]

Description

  • Adds documentation of performance test result for Data Prepper 1.3

Check List

  • New functionality includes testing.
  • New functionality has been documented.
    • New functionality has javadoc added
  • Commits are signed with a real name per the DCO

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.

@graytaylor0 graytaylor0 requested a review from a team as a code owner April 11, 2022 20:58

![](../../docs/images/PerformanceTestEnvironmentLogstash.png)

Comparing the performance of the latest release of Data Prepper 1.3 against Logstash 7.13.2, the test was configured to simulate 10 clients to send requests as frequently as possible. Each request was contained a batch of 200 logs. The test ran for 20 minutes, measuring the latency and throughput.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Logstash 7.13.2 was released in June '21. There have been +20 versions since then. Logstash is on 8.1.2 as of a few weeks ago. Can we run these on a more recent version? That will be a better comparison for the community.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There have been some issues getting the latest versions of Logstash running in our performance testing environment. I propose that we revisit this on the next round of performance testing


![](../../docs/images/LogstashGatling.png)

When comparing these measurements side by side, the test shows that with this configuration, Data Prepper has a `56%` higher throughput than Logstash, and an average latency that is `56%` lower than Logstash.
Copy link
Contributor

@cmanning09 cmanning09 Apr 12, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This uses Data Prepper as the subject and should be in the section above. Or we can add a separate conclusion section as well.

### Conclusion
Data Prepper has a `56%` higher throughput than Logstash, and an average latency that is `56%` lower than Logstash.

Copy link
Member

@dlvenable dlvenable left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first image in this blog post is a very useful graph. Can we incorporate it?
https://opensearch.org/blog/technical-post/2022/02/data-prepper-1.2.1-performance-testing/

Also, it might be nice to include that graph or another very good summary at the very top. You have to go all the way to the bottom to get the results. I'd rather start with a good summary, then go into the details.

@@ -0,0 +1,291 @@
# Performance Test Results
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should move this into the /docs directory.

@@ -0,0 +1,291 @@
# Performance Test Results
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps name this "Latest Performance Test Results" or "Current Performance Test Results."

@@ -0,0 +1,291 @@
# Performance Test Results

Following the release of Data Prepper 1.3, performance tests were run for each of the new processors that were added, as well as the equivalent Logstash filters. In the performance test results discussed below, the test environments and configurations are identical, except where the same option is not available for all applications.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to make this page a living document which we update regularly (perhaps after certain releases). I think it would be good to reword the opening paragraph to clarify this.

This page tracks our latest performance test runs from Data Prepper. We run tests with significant processors, as well as the equivalent Logstash filters. In the performance test results discussed below, the test environments and configurations are identical, except where the same option is not available for all applications.


![](../../docs/images/PerformanceTestEnvironmentLogstash.png)

Comparing the performance of the latest release of Data Prepper 1.3 against Logstash 7.13.2, the test was configured to simulate 10 clients to send requests as frequently as possible. Each request was contained a batch of 200 logs. The test ran for 20 minutes, measuring the latency and throughput.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keeping in line with making this a living document, I think it would be better to not include version numbers in the paragraphs.

Instead, perhaps we have a table to show the versions used in the latest run.


Following the release of Data Prepper 1.3, performance tests were run for each of the new processors that were added, as well as the equivalent Logstash filters. In the performance test results discussed below, the test environments and configurations are identical, except where the same option is not available for all applications.

## Environment Details
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we also clarify here or above that the test results are only for log ingestion? It is implied, but it might be good to make it explicit.

Signed-off-by: Taylor Gray <[email protected]>
@graytaylor0
Copy link
Member Author

The first image in this blog post is a very useful graph. Can we incorporate it? https://opensearch.org/blog/technical-post/2022/02/data-prepper-1.2.1-performance-testing/

Also, it might be nice to include that graph or another very good summary at the very top. You have to go all the way to the bottom to get the results. I'd rather start with a good summary, then go into the details.

I looked into creating a graph similar to the one in the performance testing blog post, and there is some extra effort to pull the data and format it the right way. For now, I moved the results to the start of the doc.

@codecov-commenter
Copy link

Codecov Report

Merging #1309 (43c6826) into main (34dd94b) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main    #1309   +/-   ##
=========================================
  Coverage     94.08%   94.08%           
  Complexity     1156     1156           
=========================================
  Files           162      162           
  Lines          3248     3248           
  Branches        263      263           
=========================================
  Hits           3056     3056           
  Misses          138      138           
  Partials         54       54           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 34dd94b...43c6826. Read the comment docs.

Copy link
Member

@dlvenable dlvenable left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be good to have a text table of some of this information to make it easier to copy and paste. But, I'm fine adding this later.

@graytaylor0 graytaylor0 merged commit ef3c529 into opensearch-project:main Apr 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants