Prototype: Inherit the maxParallelForks from Jenkins CPU count#16009
Prototype: Inherit the maxParallelForks from Jenkins CPU count#16009gharris1727 wants to merge 5 commits into
Conversation
Signed-off-by: Greg Harris <greg.harris@aiven.io>
almost speedup 50% 😄 |
|
It's hard to tell for sure. The load on Jenkins varies a lot, so this is a top 30th percentile build, not too out of the ordinary. This PR isn't any of the short bars on this graph, it's 5/5 of the tallest bars. This is a serial execution graph, so measuring the total time taken multiplied by the parallelism, roughly. That means despite maybe saving some overall execution time, running the tests at high parallelism wasted a lot of time, waiting for the CPU or whatever else. |
|
Here's some total task times across some different builds:
The 30minute compile and 4h spotbugs are very strange to me, plus just to cherry-pick from the build:
There's no tests in this package! it took junit 95 minutes to scan the classes and not find any tests??! And i don't even know what this line means, because it can't mean it took 28 minutes for gradle to determine the task was up to date, right?
I think all of the above is only consistent with an extremely overloaded test runner. |
Signed-off-by: Greg Harris <greg.harris@aiven.io>
Signed-off-by: Greg Harris <greg.harris@aiven.io>
Signed-off-by: Greg Harris <greg.harris@aiven.io>
|
It looks like 2 (or perhaps 3 or 4) is appropriate for the current CI conditions. I don't see any substantial difference that would make this a worthwhile change for us, or worth the risk of being worse CI neighbors than we already are. |

The maxParallelForks is usually inherited from the CPU count on developer machines, and hardcoded to 2 in Jenkins.
This is an experiment to try increasing the parallelism in Jenkins.
Committer Checklist (excluded from commit message)