-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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 ability to use ram disk for jenkins workspace #47746
Add ability to use ram disk for jenkins workspace #47746
Conversation
Pinging @elastic/kibana-operations (Team:Operations) |
Neat - have you seen any performance changes with all RAM? |
Unfortunately not... The disk performance was already pretty good because we were using such large disks (2TB). I think the windows of time where it really matters (like if several of the parallel ESes are doing IO-heavy work at the same time) are so short that it ends up not making a big difference overall. It should let us move from 2TB disks to ~50GB disks though, which should be a pretty good cost difference. |
💔 Build Failed |
💔 Build Failed |
@elasticmachine merge upstream |
💚 Build Succeeded |
@elasticmachine merge upstream |
💚 Build Succeeded |
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
@elasticmachine merge upstream |
💔 Build Failed |
@elasticmachine merge upstream |
💚 Build Succeeded |
@elasticmachine merge upstream |
💚 Build Succeeded |
* Add ability to use ram disk for jenkins workspace * Re-combine ciGroup agents * Address some PR feedback / questions * Add --preserve-root
* Add ability to use ram disk for jenkins workspace * Re-combine ciGroup agents * Address some PR feedback / questions * Add --preserve-root
* Add ability to use ram disk for jenkins workspace * Re-combine ciGroup agents * Address some PR feedback / questions * Add --preserve-root
* Add ability to use ram disk for jenkins workspace * Re-combine ciGroup agents * Address some PR feedback / questions * Add --preserve-root
* Add ability to use ram disk for jenkins workspace * Re-combine ciGroup agents * Address some PR feedback / questions * Add --preserve-root
This work comes after seeing flakiness in builds that is possibly due to resource constraints around disk I/O.
This work puts the Jenkins workspace for our larger build agents into memory, instead of on disk. Elasticsearch is doing the same thing for at least some of their builds.
I have 36 builds of this on my Jenkins sandbox (it's on my sandbox because I needed to schedule it to run hourly) with no failures so far.
I originally tried using GCP local SSDs, but they made less of a difference than I had hoped, and would have been more difficult to fully implement, so I switched to trying in-memory.
The instances we use for functional tests currently have 120GB RAM, so this should work well until we switch to smaller machines or need significant more space for storing files. So far, I have not seen any of the instances come close to running out of memory during a build. The worst I've seen so far was about 40GB free, which is plenty of breathing room.
This should also let us shrink the root volume SSD for the instances, which should bring costs down quite a bit from where they are right now. They are currently 2TB per instance, for more performance.