在SonarQube(5.6.4 LTS)中,可以看到后台(项目分析)任务可视化的视图:(管理/项目/后台任务).似乎任务按顺序运行(一次一个).有些任务可能需要40分钟,这意味着其他项目排队等待此任务完成才能启动.
是否可以配置SonarQube计算引擎,以便这些任务并行运行?
根据后台任务的文档:
您可以在$ SQ_HOME/conf/sonar.properties中控制一次可以处理的分析报告的数量(请参阅sonar.ce.workerCount - 默认值为1).
虽然小心:盲目地增加sonar.ce.workerCount而没有适当的监控就像在黑暗中拍摄一样.可用的底层资源(CPU/RAM)是固定的(所有工作人员都在Compute Engine JVM中运行),并且您不希望以每个任务和/或高CPU切换的非常有限的内存结束.这会破坏每项任务的性能,而不是只有少数几项并行,效率会更高.
简而言之:最好有两个并行的任务可以在一分钟内完成(即运行20个任务最多10分钟),而不是20个并行的缓慢任务,总共需要15分钟才能完成,因为他们很难分享共同的CPU /内存.
更新:使用SonarQube 6.7+和新的许可计划,"并行处理报告"已成为商业功能,仅在企业版中可用.