在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)是固定的(所有工作都在運行於JVM的計算引擎),並且您不希望每個任務的內存都非常有限,並且/或者CPU轉換率高。這會導致每個任務的性能下降,而不是隻有少數幾個並行執行,效率會更高。
簡而言之:最好有兩個並行任務可以在一分鐘內完成(即運行20個任務的最大時間爲10分鐘),而不是20個並行緩慢的任務,總共需要15分鐘才能完成,因爲他們掙扎共享通用的CPU/RAM。
更新:與SonarQube 6.7+和新licence plans「的報告並行處理」已成爲一個商業功能,並僅在Enterprise Edition可用。