如何加快声纳分析工作?

时间:2017-05-15 05:50:40

标签: jenkins sonarqube code-analysis static-analysis sonarqube-scan

我有一个基于java的应用程序,它有大量的源代码(~1m)。现在我使用 jenkins sonar-runner-2.4来运行分析代码覆盖率和测试用例数量我已经将sonarqube服务器从5.4升级到6.3.1。在升级之前,这个工作花了9hrs来完成整个分析(仍然是很长时间但很好)但升级到{ {1}} sonarqube-6.3.1同样的工作完成相同的分析。

如何至少在早期时间13hrs改善分析时间?

修改

以下是9hr实例的JAVA_OPTS

sonarqube-6.3.1

可用硬件

$ lscpu sonar.web.javaOpts=-Xmx6G -Xms2G -XX:MaxPermSize=1G -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true

可用内存 Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 2 NUMA node(s): 2 Vendor ID: GenuineIntel CPU family: 6 Model: 26 Stepping: 5 CPU MHz: 1596.000 BogoMIPS: 3999.44 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 4096K NUMA node0 CPU(s): 0-3 NUMA node1 CPU(s): 4-7

长期工作的

sonar-project.properties:

sonar-project.properties

1 个答案:

答案 0 :(得分:1)

由于您没有真正提供过许多细节,我无法在答案中提供许多细节,但简单的答案是您必须使扫描工作更少。

查看您的代码库。您的扫描处理是否生成了类?是扫描测试类吗?它是否扫描几乎没有真正业务逻辑的类?如果你回答"是"对于其中任何一个,请考虑排除这些类别。

查看您正在使用的SonarQube插件。您是否正在运行可以运行的每个可能的插件?是否有一些你不需要运行的启发式算法,或者你可能不那么频繁地运行?