Do something about buildbot's pickling of objects to disk |
||||
Issue descriptionBuildbot masters take a long time (sometimes ~an hour) to load all their state from disk on startup. This state is kept as python pickles. We should investigate what it's pickling, how much it's pickling, and whether it even makes sense to pickle those things. An easy fix might be to put a limit on the maximum number of things pickled, if appropriate. Maybe it can store some of those things in the database instead? Maybe they can be loaded on demand, rather than all at once on startup (although I suspect they *are* loaded on demand now, and something (API user, etc.) is just iterating through them all). I'd also like a ts_mon metric for unpickles per second, so at least we can show something on the console that tells us the master's working hard, and not stuck or hung. Eric: not sure who to assign this to. Is anyone interested in buildbot now stip has gone?
,
Feb 15 2017
Notably, I believe that the number of pickles loaded is "limited" to 200 per builder. The problem is that it has so many builders that that number becomes unreasonably large. They are loaded on-demand, but the demand is "I want to view the Console page", which immediately requires loading builds from every builder. It's not clear to me why it loads 200 builds for every builder, instead of loading them until it reaches 25 revisions worth of builds or whatever it is that the console displays, but it's still all triggered by just a single pageload. (Loading the root json also triggers the same load-from-disk behavior.)
,
Feb 15 2017
Without knowing the specifics, i know historically we increase the limit because of runtime issues, so any decrease should be done carefully and with an acknowledgement that we may be trading startup time for runtime performance.
,
Feb 16 2017
,
Feb 21 2017
I'm inclined not to put too much work into this since Dirk will be splitting up the offending masters. We should try to put checks in place to make sure masters don't get excessive numbers of builders or bots since this isn't the only aspect of buildbot that doesn't scale.
,
Feb 28 2018
|
||||
►
Sign in to add a comment |
||||
Comment 1 by estaab@chromium.org
, Feb 15 2017Owner: hinoka@chromium.org
Status: Assigned (was: Unconfirmed)