【发布时间】:2018-03-09 16:21:41
【问题描述】:
在 SonarQube (5.6.4 LTS) 中有一个后台(项目分析)任务可视化的视图:(管理/项目/后台任务)。似乎任务是按顺序运行的(一次一个)。有些任务可能需要 40 分钟,这意味着其他项目要排队等待此任务完成才能开始。
是否可以配置 SonarQube 计算引擎,使这些任务改为并行运行?
【问题讨论】:
标签: sonarqube
在 SonarQube (5.6.4 LTS) 中有一个后台(项目分析)任务可视化的视图:(管理/项目/后台任务)。似乎任务是按顺序运行的(一次一个)。有些任务可能需要 40 分钟,这意味着其他项目要排队等待此任务完成才能开始。
是否可以配置 SonarQube 计算引擎,使这些任务改为并行运行?
【问题讨论】:
标签: sonarqube
根据documentation on Background Tasks:
您可以在 $SQ_HOME/conf/sonar.properties 中控制一次可以处理的分析报告的数量(请参阅 sonar.ce.workerCount - 默认为 1)。
小心:在没有适当监控的情况下盲目增加 sonar.ce.workerCount 就像在黑暗中射击一样。可用的底层资源 (CPU/RAM) 是固定的(所有工作程序都在 Compute Engine JVM 中运行),并且您不希望每个任务的内存非常有限和/或高CPU切换。这会降低每个任务的性能,而不是只有几个并行任务会更有效率。
简而言之:最好有最多 2 个可以在一分钟内完成的并行任务(即最多 10 分钟来运行 20 个任务),而不是并行 20 个缓慢的任务,总体上需要 15 分钟才能完成,因为它们很难共享公用 CPU/RAM。
更新:随着 SonarQube 6.7+ 和新的licence plans,“并行处理报告”已成为商业功能,仅在Enterprise Edition 中可用。
【讨论】: