2017-01-11 51 views
2

在SonarQube(5.6.4 LTS)中,可以看到背景(项目分析)任务可视化的情况:(管理/项目/后台任务)。似乎这些任务按顺序运行(一次一个)。某些任务可能需要40分钟,这意味着其他项目将排队等待此任务完成,然后才能启动。可能并行化SonarQube后台任务?

是否可以配置SonarQube计算引擎,以便这些任务可以并行运行?

回答

5

documentation on Background Tasks

您可以控制可以在$ SQ_HOME时间进行处理分析报告的数量/ conf目录/ sonar.properties(见sonar.ce.workerCount - 缺省为1 )。

仔细虽然:盲目增加sonar.ce.workerCount没有适当的监督就像在黑暗中拍摄。可用的底层资源(CPU/RAM)是固定的(所有工作都在运行于JVM的计算引擎),并且您不希望每个任务的内存都非常有限,并且/或者CPU转换率高。这会导致每个任务的性能下降,而不是只有少数几个并行执行,效率会更高。

简而言之:最好有两个并行任务可以在一分钟内完成(即运行20个任务的最大时间为10分钟),而不是20个并行缓慢的任务,总共需要15分钟才能完成,因为他们挣扎共享通用的CPU/RAM。

更新:与SonarQube 6.7+和新licence plans“的报告并行处理”已成为一个商业功能,并仅在Enterprise Edition可用。