-
Notifications
You must be signed in to change notification settings - Fork 146
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
Improve elastic-agent install
performance
#3212
Conversation
This pull request does not have a backport label. Could you fix it @ycombinator? 🙏
NOTE: |
elastic-agent install
performance
This pull request is now in conflicts. Could you fix it? 🙏
|
44b8691
to
ed01563
Compare
79342af
to
6b04bf4
Compare
🌐 Coverage report
|
Pinging @elastic/elastic-agent (Team:Elastic-Agent) |
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.
Looks good, modulo the question about comments
func HasAllSSDs() bool { | ||
block, err := ghw.Block() | ||
if err != nil { | ||
//fmt.Fprintf(os.Stdout, "HasAllSSDs: ghw.Block() returned error: %s\n", err.Error()) |
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.
Are the commented Fprintf's left here intentionally or just leftover from testing?
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.
Leftovers, will remove. Thanks!
This pull request is now in conflicts. Could you fix it? 🙏
|
0fb47e2
to
0cdbda4
Compare
Currently waiting on otiai10/copy#123 to be merged, then will update |
This pull request is now in conflicts. Could you fix it? 🙏
|
2bd0ff0
to
343ad8f
Compare
Hey @michalpristas, I was wondering if you have a Windows machine with an HDD (as opposed to SSD). @pierrehilbert suggested that you might. If you do, would you mind testing the performance of If you don't have such a machine, just let me know. Thanks either way! |
343ad8f
to
af1c8a1
Compare
Chatted with @michalpristas off-PR. He doesn't have an HDD machine where The HDD test is mainly to make sure there's no regression in performance with this change on HDDs, which I tested for Linux so I think that's good enough. |
…f dependency has been released
b88b270
to
84cac6a
Compare
SonarQube Quality Gate |
@cmacknz Worth backporting to |
Missed the original ping here, not a bug fix so we shouldn't have backported. |
👍 This PR was not backported so we're good. Thanks! |
What does this PR do?
This PR makes
elastic-agent install
run slightly faster by concurrently copying files when the Agent is being installed on a host with SSDs. The same is done with Elastic Agent upgrades.Summary of installation times
For all tests, the first installation result was discarded and the worse of the next two installation results (the result with the higher installation time) was used.
MacOS - SSD
Tested on 2023 MacOS (Ventura 13.5) running SSDs.
Before this PR
After this PR
MacOS - HDD
TODO
Before this PR
After this PR
Linux - SSD
Tested on Google Cloud VM (Ubuntu 22) running SSDs (balanced persistent disk).
Before this PR
After this PR
Linux - HDD
Tested on Azure Cloud VM (Ubuntu 22) running HDDs (Standard HDD LRS).
Before this PR
After this PR
Windows - SSD
Tested on 2022 Dell laptop (Windows 11 Pro) running SSDs.
Before this PR
After this PR
Windows - HDD
TODO
Before this PR
After this PR
Why is it important?
Better user experience.
Checklist
I have made corresponding changes to the documentationI have made corresponding change to the default configuration filesI have added tests that prove my fix is effective or that my feature works./changelog/fragments
using the changelog toolI have added an integration test or an E2E test