<p dir="ltr">Hi Dan, </p>
<p dir="ltr">My experience with using Buildbot with quite a lot of builders usually the bottleneck is loading pickled stuff (I'm speaking about eight, of course). Maybe you can clean up your history of builds to make it work faster? </p>
<p dir="ltr">Thanks, <br>
Vasily</p>
<div class="gmail_quote">18 февр. 2016 г. 21:36 пользователь "Dan Kegel" <<a href="mailto:dank@kegel.com">dank@kegel.com</a>> написал:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, Feb 18, 2016 at 10:01 AM, Pierre Tardy <<a href="mailto:tardyp@gmail.com">tardyp@gmail.com</a>> wrote:<br>
> The waterfall or builder page is for me really not useful when you have that<br>
> much builders (eight or nine)<br>
> I think you would probably require a specific dashboard is order to split<br>
> your builder matrix.<br>
<br>
We already split the waterfall into sixteen categories (by project area<br>
and real vs. try). Even the smallest category takes 3 seconds to fetch,<br>
which is about 10x too long.<br>
<br>
> Buying new cores is not something I would recommend, as buildbot is<br>
> fundamentally monothreaded.<br>
<br>
When doing several fetches in parallel, I see the reported CPU usage of<br>
twistd vary between 200% and 325%, so there's at least some<br>
parallelism going on.<br>
And assigning two more cores is easy... I'll try.<br>
<br>
> On buildbot eight database is really about the buildrequests, and changes. I<br>
> dont think that switching to mysql will help at all loading waterfall.<br>
<br>
That's good to know.<br>
<br>
> The best for you is to run <a href="https://pypi.python.org/pypi/statprof/" rel="noreferrer" target="_blank">https://pypi.python.org/pypi/statprof/</a> over<br>
> manhole (<a href="http://docs.buildbot.net/latest/manual/cfg-global.html#manhole" rel="noreferrer" target="_blank">http://docs.buildbot.net/latest/manual/cfg-global.html#manhole</a>)<br>
> will definitly tell you were buildbot's code is hanging.<br>
<br>
I hesitate to touch the master install, but maybe I can try that when I install<br>
nine.<br>
<br>
> You can increase the buildCacheSize, that may help to trade cpu against<br>
> memory.<br>
<br>
Tried that just now:<br>
+ self['caches'] = {<br>
+ 'Builds' : 1500, # formerly c['buildCacheSize']<br>
+ }<br>
<br>
Didn't seem to help; /builders still takes 5-6 seconds to fetch. (Setting both<br>
yielded error "cannot specify c['caches'] and c['buildCacheSize']"<br>
so I guess I put it in the right place.)<br>
twistd's resident working set is 461MB, golly.<br>
<br>
> As for nine, we are approaching a release, cancel/stop have been working for<br>
> 6+ month.<br>
> We have to see how ui will work with that many builders. For sure it will<br>
> never hang the master process for 7 seconds, but we might have to work<br>
> together in order to optimize some parts.<br>
<br>
I've been holding off upgrading partly because I'll need to redo how I do<br>
ephemeral slaves^Wworkers, but maybe now's the time, even<br>
if it doesn't help this performance problem.<br>
<br>
Another alternative is to split the master, but then I'd have to split the<br>
slave sets, too, which would hurt build times.<br>
- Dan<br>
_______________________________________________<br>
users mailing list<br>
<a href="mailto:users@buildbot.net">users@buildbot.net</a><br>
<a href="https://lists.buildbot.net/mailman/listinfo/users" rel="noreferrer" target="_blank">https://lists.buildbot.net/mailman/listinfo/users</a><br>
<br>
</blockquote></div>