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