Sonarqube背景任务运行4小时



我们正在将声音符号从4.5.x升级到5.6.x,计算引擎是一个新概念,而在纸上很明显。,但是当上班时,它的表现不大!如果您做到了,请帮助我通过

我选择了一个测试项目,该项目与Sonarqube 4.5.4不到4分钟进行了扫描。现在,(Gradle(扫描仪进行的最初扫描需要3分钟。和CE背景任务永远运行,从测试项目中,第一个在183分钟内完成,另外一个在263分钟内,第三个仍在运行。

显然,我开始挖掘,看到了这个堆叠的问题 - 声纳克背景任务永远运行,并增加了记忆,如答案所引用,但它对我不起作用。

sonar.ce.javaOpts=-Xmx4096m -Xms512m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true
sonar.ce.workerCount=5

尽管工人计数为5,但我现在没有运行并行任务。从完成的作业日志中,我可以看到一些令人震惊的时间信息!

2018.02.13 16:56:07 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute complexity measures | time=335ms
2018.02.13 16:56:07 INFO  [o.s.s.c.s.ComputationStepExecutor] Load measure computers | time=6ms
2018.02.13 21:18:34 INFO  [o.s.s.c.s.ExecuteVisitorsStep]   Execution time for each component visitor:
2018.02.13 21:18:34 INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - LoadComponentUuidsHavingOpenIssuesVisitor | time=2483ms
2018.02.13 21:18:34 INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - IntegrateIssuesVisitor | time=15743879ms
2018.02.13 21:18:34 INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - CloseIssuesOnRemovedComponentsVisitor | time=0ms
2018.02.13 21:18:34 INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - QualityModelMeasuresVisitor | time=143ms
2018.02.13 21:18:34 INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - NewQualityModelMeasuresVisitor | time=73ms
2018.02.13 21:18:34 INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - LastCommitVisitor | time=4ms
2018.02.13 21:18:34 INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - MeasureComputersVisitor | time=25ms
2018.02.13 21:18:34 INFO  [o.s.s.c.s.ComputationStepExecutor] Execute component visitors | time=15746700ms
2018.02.13 21:18:37 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute measure variations | time=3290ms
2018.02.13 21:18:37 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute Quality Gate measures | time=54ms
2018.02.13 21:18:37 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute Quality profile measures | time=25ms
2018.02.13 21:18:38 INFO  [o.s.s.c.s.ComputationStepExecutor] Generate Quality profile events | time=33ms
2018.02.13 21:18:38 INFO  [o.s.s.c.s.ComputationStepExecutor] Generate Quality gate events | time=6ms

执行组件访问者,尤其是IntegrateIssuesVisitor需要大量时间,在执行所需的263分钟中,有262分钟。如何避免这种情况?

我看不到任何跨项目分析禁用选项,是否与此相关?

其他信息:我使用Oracle DB

[更新]在CE上划出了诅咒。我的糟糕,CE很棒!现在,一些项目在3秒内被分析和发布!

已解决!

这与数据库有关,正如Sonarqube Google组指出的讨论。

来自https://docs.sonarq.sonarqube.org/display/plug/managing compute engine performance,显然,计算引擎性能与

相关
  • db
  • 磁盘I/O
  • 网络
  • cpu

我们的内存消耗和CPU的使用始终很少,因此我们直接排除了最后两个。但是,我们还不知道出了什么问题,如果由于没有将日志级别应用于CE日志,CE日志在各个方面都没有用,那么您就是只有信息的东西,没有debug或跟踪级别。我们还是提示,

INFO  [o.s.s.c.s.ExecuteVisitorsStep]   Execution time for each component visitor:
INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - LoadComponentUuidsHavingOpenIssuesVisitor | time=58ms
INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - IntegrateIssuesVisitor | time=41147606ms
INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - CloseIssuesOnRemovedComponentsVisitor | time=1ms
INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - QualityModelMeasuresVisitor | time=206ms
INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - NewQualityModelMeasuresVisitor | time=119ms
INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - LastCommitVisitor | time=6ms
INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - MeasureComputersVisitor | time=29336ms

IntegrateIssuesVisitor花了很多时间进行执行时间,日志只是那种内容丰富的,为什么部分仍然是神秘的。因此,我们决定挖掘代码,感谢上帝Sonarqube是开源的,但很快就足够了,或者DBA团队招架了我们为什么我们的查询表现如此糟糕。它把我们困住了,索引我们分析了声纳的交易表,我们现在很好。

tl; dr:保持表统计信息的更新,以便优化始终对您有利。分析表。

最新更新