如何加快声纳分析工作?

chi*_*kar 6 code-analysis static-analysis jenkins sonarqube sonarqube-scan

我有由具有源代码巨大行一个基于Java的应用程序(〜1M)。现在我使用詹金斯声纳浇道-2.4来运行代码覆盖率和测试用例count.I分析已经从升级服务器sonarqube5.46.3.1。之前升级这项工作需要9hrs完成整个分析(仍然很长时间但很好)但是在升级到sonarqube-6.3.1相同的工作后需要13hrs完成相同的分析。

我如何至少在我更早的时候缩短分析时间9hr

编辑

这是我JAVA_OPTSsonarqube-6.3.1例子

sonar.web.javaOpts=-Xmx6G -Xms2G -XX:MaxPermSize=1G -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true
Run Code Online (Sandbox Code Playgroud)

可用硬件

$lscpu 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

可用内存$free -m total used free shared buff/cache available Mem: 128714 58945 66232 430 3535 68298 Swap: 32767 957 31810

sonar-project.properties 用于长期运行的工作:

sonar-project.properties

Dav*_*arr 3

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

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

查看您正在使用的 SonarQube 插件。您是否正在运行所有可以运行的插件?是否存在一些您不需要运行的启发式方法,或者您可以减少运行频率?