[Buildbot] #3272: Buildbot start-up time starts to tip-over once there logs for ~3000 builds in a builder (especially if a build has lots of steps)
Buildbot trac
trac at buildbot.net
Sat Jun 6 09:29:39 UTC 2015
#3272: Buildbot start-up time starts to tip-over once there logs for ~3000 builds
in a builder (especially if a build has lots of steps)
------------------------+------------------------
Reporter: vlovich | Owner:
Type: defect | Status: new
Priority: major | Milestone: undecided
Version: 0.8.10 | Resolution:
Keywords: performance |
------------------------+------------------------
Comment (by vlovich):
First, if the build number were to be a folder instead that contains the
other files, that would cut this down to an O(M) problem.
If the last next builder number were to be stored in the DB, it would an
O(1) in the common case. On startup, if the build exists, search up until
you find the next one. If it doesn't, search down until you find the one
that does.
Even if the number were to be recorded in the DB though there would still
need to be a cleanup to provide some more structure. To that end, I would
recommend that build logs are re-organized to live under:
YYYYMM/DD/Build #/...
That will keep the number of files in a given directory to be much more
manageable. Probably would need to keep a information in the DB to get at
the YYYYMM/DD information given a build #.
Alternatively, it might be possible to accomplish improvements with a more
simple change. Simply have some kind of nesting value (probably
configurable but default to something big like 5000 or 10000). That
controls how many builds at a given level.
Even if only 1 level is implemented, at 10 000 you're looking at 100
million builds with logfiles still around before you have to look at
tackling supporting more levels (or re-architecting again).
--
Ticket URL: <http://trac.buildbot.net/ticket/3272#comment:1>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation
More information about the bugs
mailing list