【问题标题】:SonarQube 5.1.2 SVN Plugin Extremely SlowSonarQube 5.1.2 SVN 插件非常慢
【发布时间】:2015-11-20 04:53:10
【问题描述】:

我最近将我们的 SonarQube 实例升级到 5.1.2。我们使用 SVN 插件 (v1.1) 进行 SCM 分析。自从升级后,这个插件的性能一直很慢。

为了重现该问题,我在我自己的 PC 上针对 2 个 SonarQube 安装(也安装在我的 PC 上 - 4.4.1 和 5.1.2)分析了一个项目。

4.4.1 的 SCM 分析耗时 45 秒,而 5.1.2 版本耗时近 1.5 小时。

以下是来自日志文件的示例 sn-ps。 4.4.1版本不说明分析的文件数,但和5.1.2分析一样(同一个项目)。

4.4.1 版:

[INFO] [17:53:21.914] Sensor ScmActivitySensor...
[INFO] [17:53:21.914] Trying to guess scm provider from project layout...
[INFO] [17:53:21.915] Found SCM type: svn
[INFO] [17:53:21.915] Retrieve SCM blame information with encoding windows-1252...
...
[INFO] [17:54:06.488] Retrieve SCM blame information with encoding windows-1252 done: 44573 ms
[INFO] [17:54:06.488] Sensor ScmActivitySensor done: 44574 ms

5.1.2 版:

[INFO] [18:00:54.971] Sensor SCM Sensor
[INFO] [18:00:54.987] SCM provider for this project is: svn
[INFO] [18:00:54.991] 1645 files to be analyzed
...
[INFO] [19:27:16.017] 1645/1645 files analyzed
[INFO] [19:27:16.017] Sensor SCM Sensor (done) | time=5181046ms

这似乎排除了我们的 SVN 服务器或执行分析的机器的问题。我不知道下一步该去哪里看?有人可以帮忙吗?

如果需要,我可以提供完整的日志(尽管 5.1.2 中的调试输出似乎没有显示任何有用的额外信息)。

【问题讨论】:

  • 我自己可以回答这个问题。这是因为对 SVNLogClient.doAnnotate() 的调用将“includeMergedRevisions”标志设置为真。是否应该为我们设置或者是否应该可配置是另一回事,因为它确实包含有用的功能。无论哪种方式,将其设置为 false 都会像预期的那样大大加快速度。

标签: svn sonarqube svnkit sonarqube5.1


【解决方案1】:

正如我在评论中提到的,这是因为合并历史包含在 SVN 的责备中。

如果你坚持下去并等待一个分析完成,随后的分析会更快,因为责备操作只对更改的文件执行。

【讨论】:

    猜你喜欢
    • 2010-10-31
    • 2010-11-17
    • 2011-05-20
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多