Skip to content

Add ability to use ram disk for jenkins workspace#47746

Merged
brianseeders merged 9 commits intoelastic:masterfrom
brianseeders:move-workspace-to-ramdisk
Oct 18, 2019
Merged

Add ability to use ram disk for jenkins workspace#47746
brianseeders merged 9 commits intoelastic:masterfrom
brianseeders:move-workspace-to-ramdisk

Conversation

@brianseeders
Copy link
Copy Markdown
Contributor

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.

@brianseeders brianseeders requested review from a team and spalger October 9, 2019 18:17
@brianseeders brianseeders self-assigned this Oct 9, 2019
@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/kibana-operations (Team:Operations)

@brianseeders brianseeders added the release_note:skip Skip the PR/issue when compiling release notes label Oct 9, 2019
@jbudz
Copy link
Copy Markdown
Contributor

jbudz commented Oct 9, 2019

Neat - have you seen any performance changes with all RAM?

@brianseeders
Copy link
Copy Markdown
Contributor Author

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.

@elasticmachine
Copy link
Copy Markdown
Contributor

💔 Build Failed

@elasticmachine
Copy link
Copy Markdown
Contributor

💔 Build Failed

@brianseeders
Copy link
Copy Markdown
Contributor Author

@elasticmachine merge upstream

@elasticmachine
Copy link
Copy Markdown
Contributor

💚 Build Succeeded

@brianseeders
Copy link
Copy Markdown
Contributor Author

@elasticmachine merge upstream

@elasticmachine
Copy link
Copy Markdown
Contributor

💚 Build Succeeded

Copy link
Copy Markdown
Contributor

@spalger spalger left a comment

Choose a reason for hiding this comment

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

LGTM

@brianseeders
Copy link
Copy Markdown
Contributor Author

@elasticmachine merge upstream

@elasticmachine
Copy link
Copy Markdown
Contributor

💔 Build Failed

@brianseeders
Copy link
Copy Markdown
Contributor Author

@elasticmachine merge upstream

@elasticmachine
Copy link
Copy Markdown
Contributor

💚 Build Succeeded

@brianseeders
Copy link
Copy Markdown
Contributor Author

@elasticmachine merge upstream

@elasticmachine
Copy link
Copy Markdown
Contributor

💚 Build Succeeded

@brianseeders brianseeders merged commit 62b21dd into elastic:master Oct 18, 2019
@brianseeders brianseeders deleted the move-workspace-to-ramdisk branch October 18, 2019 16:13
brianseeders added a commit to brianseeders/kibana that referenced this pull request Oct 18, 2019
* Add ability to use ram disk for jenkins workspace

* Re-combine ciGroup agents

* Address some PR feedback / questions

* Add --preserve-root
brianseeders added a commit to brianseeders/kibana that referenced this pull request Oct 18, 2019
* Add ability to use ram disk for jenkins workspace

* Re-combine ciGroup agents

* Address some PR feedback / questions

* Add --preserve-root
brianseeders added a commit to brianseeders/kibana that referenced this pull request Oct 18, 2019
* Add ability to use ram disk for jenkins workspace

* Re-combine ciGroup agents

* Address some PR feedback / questions

* Add --preserve-root
brianseeders added a commit to brianseeders/kibana that referenced this pull request Oct 18, 2019
* Add ability to use ram disk for jenkins workspace

* Re-combine ciGroup agents

* Address some PR feedback / questions

* Add --preserve-root
brianseeders added a commit that referenced this pull request Oct 21, 2019
* Add ability to use ram disk for jenkins workspace

* Re-combine ciGroup agents

* Address some PR feedback / questions

* Add --preserve-root
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature:CI Continuous integration release_note:skip Skip the PR/issue when compiling release notes Team:Operations Kibana-Operations Team v6.8.4 v7.4.1 v7.5.0 v7.6.0 v8.0.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants