-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Enable compression by default for Elasticsearch outputs #36681
Conversation
This pull request does not have a backport label.
To fixup this pull request, you need to add the backport labels for the needed
|
I'm not too familiar with the monitoring output -- does compression also have to be set for the monitoring output? https://github.com/elastic/beats/blob/main/libbeat/monitoring/report/elasticsearch/elasticsearch.go |
I'm not aware of any discussion or testing of that case, so I wasn't planning to for this first pass. If we want to do that it should probably be included in the benchmarking and followup changes in https://github.com/elastic/ingest-dev/issues/2399. |
I believe this is only used for stack monitoring of standalone Beats and is never used when Beats are run under agent. |
The benchmark that shows a 25% CPU doesn't use any processors, right? When processors or more complex inputs are used we'd expect the % CPU impact to be lower (as the output represents a smaller total % of the CPU usage)? |
The quoted figures include some runs with processors (under Agent), but yes, configurations with heavy processor use or similar will see proportionately smaller marginal changes. |
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.
LGTM
Merging, we have enough approvals and this change has been widely communicated. |
Can we backport the compression changes to latest 7.x? |
* Enable compression by default for Elasticsearch outputs * update config template * update changelog * regenerate config templates * update docs * make check (cherry picked from commit 231e93a) # Conflicts: # libbeat/outputs/elasticsearch/config_test.go
Opened a 7.17 backport. Will wait for the final round of benchmark results before merging. |
Any chance this change is causing a memory leak that is being reported across the community? |
Have you tried setting |
I am going to try that when I'm back at the office. I think others have more extreme examples that may be able to test more accurately but I will be happy to test and report back! |
To close the loop the cause of the memory leak was fixed in elastic/elastic-agent-system-metrics#115 |
* Enable compression by default for Elasticsearch outputs * update config template * update changelog * regenerate config templates * update docs * make check
Change the default compression level for the Elasticsearch output from 0 to 1. Part of https://github.com/elastic/ingest-dev/issues/2458
Checklist
I have commented my code, particularly in hard-to-understand areasCHANGELOG.next.asciidoc
orCHANGELOG-developer.next.asciidoc
.Author's Checklist
The benchmarks evaluating this change were run by @alexsapran and discussed in https://github.com/elastic/ingest-dev/issues/2399. In summary we expect this to have the following effects on "typical" ingestion:
The exact numbers depend on the specific configuration and the type of data being ingested. The CPU and ingestion changes were fairly stable in tests, and anything noticeably outside that range should be flagged for evaluation if it arises during testing.