sonarqube:缓慢的分析:30sec专家,20分钟的声纳

jef*_*ter 3 sonarqube

我试图弄清楚为什么在一个1901文件的项目中,需要20分钟才能进行声纳分析。是的,有93,000次违规(这是旧代码,现在正在重写)。

对于我的其他一些项目而言,问题更严重,因为声纳可能需要一个小时才能进行分析。

详细信息在下面,但细分是...

在JavaSource上2分钟...

[INFO] [11:41:39.452] Sensor JavaSourceImporter...
[INFO] [11:43:26.651] Sensor JavaSourceImporter done: 107199 ms
Run Code Online (Sandbox Code Playgroud)

3分钟...

[INFO] [11:43:26.726] 1901 source files to be analyzed
<SNIP>
[INFO] [11:46:00.170] 1901/1901 source files analyzed
Run Code Online (Sandbox Code Playgroud)

2分钟findbugs ...

[INFO] [11:46:58.851] Execute Findbugs 2.0.2...
[INFO] [11:47:00.764] Findbugs output report: /var/lib/jenkins/jobs/inf/workspace/target/sonar/findbugs-result.xml
[INFO] [11:48:17.666] Execute Findbugs 2.0.2 done: 78815 ms
Run Code Online (Sandbox Code Playgroud)

在PMD上停留4分钟...

[INFO] [11:48:40.610] Execute PMD 4.3...
[INFO] [11:48:40.626] Java version: 1.6
[INFO] [11:48:40.658] PMD configuration: /var/lib/jenkins/jobs/inf/workspace/target/sonar/pmd.xml
[INFO] [11:52:02.384] PMD configuration: /var/lib/jenkins/jobs/inf/workspace/target/sonar/pmd-unit-tests.xml
[INFO] [11:52:02.385] Execute PMD 4.3 done: 201775 ms
Run Code Online (Sandbox Code Playgroud)

雅各布2分钟...

[INFO] [11:52:12.710] Sensor JaCoCoSensor...
[INFO] [11:52:12.716] Analysing /var/lib/jenkins/jobs/inf/workspace/target/jacoco.exec
[INFO] [11:54:31.749] No information about coverage per test.
[INFO] [11:54:31.749] Sensor JaCoCoSensor done: 139039 ms
Run Code Online (Sandbox Code Playgroud)

5分钟的装饰和存储结果...

[INFO] [11:54:32.009] Execute decorators...
[INFO] [11:59:13.444] Store results in database
Run Code Online (Sandbox Code Playgroud)

因为代码中有很多违规行为,这只是速度慢吗?我该怎么做才能加快速度?


Sonarqube:版本4.0(Windows Server 2008 R2-SP1:Intel 2Duo E6550 @ 2.33GHz,6GB ram,64bit)

Mysql:5.6(与声纳相同的框)新的空数据库:msqld.exe“平均CPU 7.14”

詹金斯:1.540

Jenkins Sonar插件:2.1

注意:声纳安装在xx72.215上:詹金斯安装在xx72.175上

詹金斯:“用Maven分析”而不是“用SonarQube Runner分析”


[INFO] [11:41:38.563] Initializer JacocoMavenInitializer...
[INFO] [11:41:38.563] Initializer JacocoMavenInitializer done: 0 ms
[INFO] [11:41:38.563] Index files
[INFO] [11:41:39.375] 1927 files indexed
[INFO] [11:41:39.376] Base dir: /var/lib/jenkins/jobs/inf/workspace
[INFO] [11:41:39.376] Working dir: /var/lib/jenkins/jobs/inf/workspace/target/sonar
[INFO] [11:41:39.376] Source dirs: /var/lib/jenkins/jobs/inf/workspace/src/main/java
[INFO] [11:41:39.376] Test dirs: /var/lib/jenkins/jobs/inf/workspace/src/test/java
[INFO] [11:41:39.376] Binary dirs: /var/lib/jenkins/jobs/inf/workspace/target/classes
[INFO] [11:41:39.376] Source encoding: UTF-8, default locale: en_GB
[INFO] [11:41:39.452] Sensor JavaSourceImporter...
[INFO] [11:43:26.651] Sensor JavaSourceImporter done: 107199 ms
[INFO] [11:43:26.651] Sensor JavaSquidSensor...
[INFO] [11:43:26.723] Java AST scan...
[INFO] [11:43:26.726] 1901 source files to be analyzed
[INFO] [11:43:36.726] 116/1901 files analyzed, current is /var/lib/jenkins/jobs/inf/workspace/src/main/java/com/v21/dataDistribution/delivery/monitoring/PendingDeliveries.java
[INFO] [11:43:46.727] 271/1901 files analyzed, current is /var/lib/jenkins/jobs/inf/workspace/src/main/java/uk/co/system/base/BasicAppData.java
[INFO] [11:43:56.727] 402/1901 files analyzed, current is /var/lib/jenkins/jobs/inf/workspace/src/main/java/uk/co/system/common/SplashScreen.java
[INFO] [11:44:06.727] 536/1901 files analyzed, current is /var/lib/jenkins/jobs/inf/workspace/src/main/java/uk/co/system/devsim/NullDrawer.java
[INFO] [11:44:16.727] 672/1901 files analyzed, current is /var/lib/jenkins/jobs/inf/workspace/src/main/java/uk/co/system/engine/output/SoundInstruction.java
[INFO] [11:44:26.728] 778/1901 files analyzed, current is /var/lib/jenkins/jobs/inf/workspace/src/main/java/uk/co/system/error/ChangedException.java
[INFO] [11:44:36.728] 901/1901 files analyzed, current is /var/lib/jenkins/jobs/inf/workspace/src/main/java/uk/co/system/iface/Configuration.java
[INFO] [11:44:46.728] 1039/1901 files analyzed, current is /var/lib/jenkins/jobs/inf/workspace/src/main/java/uk/co/system/iface/IXmlWriter.java
[INFO] [11:44:56.728] 1158/1901 files analyzed, current is /var/lib/jenkins/jobs/inf/workspace/src/main/java/uk/co/system/herbert/HerbertScale.java
[INFO] [11:45:16.733] 1365/1901 files analyzed, current is /var/lib/jenkins/jobs/inf/workspace/src/main/java/uk/co/system/management/error/BasicException.java
[INFO] [11:45:26.734] 1498/1901 files analyzed, current is /var/lib/jenkins/jobs/inf/workspace/src/main/java/uk/co/system/data/IScratchTillUpdateLookup.java
[INFO] [11:45:36.740] 1625/1901 files analyzed, current is /var/lib/jenkins/jobs/inf/workspace/src/main/java/uk/co/system/util/StringArrayFormatter.java
[INFO] [11:45:46.740] 1742/1901 files analyzed, current is /var/lib/jenkins/jobs/inf/workspace/src/main/java/uk/co/tools/format/Graphics2DWrapper.java
[INFO] [11:45:56.740] 1859/1901 files analyzed, current is /var/lib/jenkins/jobs/inf/workspace/src/main/java/uk/co/util/programs/FileEdit.java
[INFO] [11:46:00.170] 1901/1901 source files analyzed
[INFO] [11:46:00.392] Java AST scan done: 153669 ms
[INFO] [11:46:00.428] Java bytecode scan...
[WARN] [11:46:01.252] Class 'uk/co//system/engine2/DeferredProcessing' is not accessible through the ClassLoader.
[WARN] [11:46:01.727] Class 'uk/co//system/engine2/DeferredProcessing' is not accessible through the ClassLoader.
[WARN] [11:46:02.008] Class 'uk/co//system/engine2/DeferredProcessing' is not accessible through the ClassLoader.
[INFO] [11:46:02.322] Java bytecode scan done: 1894 ms
[INFO] [11:46:02.555] Package design analysis...
[INFO] [11:46:17.788] Package design analysis done: 15233 ms
[INFO] [11:46:58.851] Sensor JavaSquidSensor done: 212200 ms
[INFO] [11:46:58.851] Sensor FindbugsSensor...
[INFO] [11:46:58.851] Execute Findbugs 2.0.2...
[INFO] [11:47:00.764] Findbugs output report: /var/lib/jenkins/jobs/inf/workspace/target/sonar/findbugs-result.xml
[INFO] [11:48:17.666] Execute Findbugs 2.0.2 done: 78815 ms
[INFO] [11:48:17.864] Sensor FindbugsSensor done: 79013 ms
[INFO] [11:48:17.864] Sensor SurefireSensor...
[INFO] [11:48:17.864] parsing /var/lib/jenkins/jobs/inf/workspace/target/surefire-reports
[INFO] [11:48:17.986] Sensor SurefireSensor done: 122 ms
[INFO] [11:48:17.986] Sensor CpdSensor...
[INFO] [11:48:17.986] SonarEngine is used
[INFO] [11:48:17.995] Cross-project analysis disabled
[INFO] [11:48:40.608] Sensor CpdSensor done: 22622 ms
[INFO] [11:48:40.608] Sensor PmdSensor...
[INFO] [11:48:40.610] Execute PMD 4.3...
[INFO] [11:48:40.626] Java version: 1.6
[INFO] [11:48:40.658] PMD configuration: /var/lib/jenkins/jobs/inf/workspace/target/sonar/pmd.xml
[INFO] [11:52:02.384] PMD configuration: /var/lib/jenkins/jobs/inf/workspace/target/sonar/pmd-unit-tests.xml
[INFO] [11:52:02.385] Execute PMD 4.3 done: 201775 ms
[INFO] [11:52:02.854] Sensor PmdSensor done: 202246 ms
[INFO] [11:52:02.854] Sensor InitialOpenIssuesSensor...
[INFO] [11:52:09.920] Sensor InitialOpenIssuesSensor done: 7066 ms
[INFO] [11:52:09.920] Sensor ProfileSensor...
[INFO] [11:52:10.981] Sensor ProfileSensor done: 1061 ms
[INFO] [11:52:10.981] Sensor ProfileEventsSensor...
[INFO] [11:52:11.025] Sensor ProfileEventsSensor done: 44 ms
[INFO] [11:52:11.025] Sensor ProjectLinksSensor...
[INFO] [11:52:11.038] Sensor ProjectLinksSensor done: 13 ms
[INFO] [11:52:11.038] Sensor VersionEventsSensor...
[INFO] [11:52:11.094] Sensor VersionEventsSensor done: 56 ms
[INFO] [11:52:11.094] Sensor FileHashSensor...
[INFO] [11:52:11.114] Sensor FileHashSensor done: 20 ms
[INFO] [11:52:11.114] Sensor Maven dependencies...
[INFO] [11:52:12.710] Sensor Maven dependencies done: 1596 ms
[INFO] [11:52:12.710] Sensor JaCoCoSensor...
[INFO] [11:52:12.716] Analysing /var/lib/jenkins/jobs/inf/workspace/target/jacoco.exec
[INFO] [11:54:31.749] No information about coverage per test.
[INFO] [11:54:31.749] Sensor JaCoCoSensor done: 139039 ms
[INFO] [11:54:32.009] Execute decorators...
[INFO] [11:59:13.444] Store results in database
[INFO] [11:59:23.763] ANALYSIS SUCCESSFUL, you can browse http://x.x.72.175:9000/dashboard/index/com.v21.infrastructure.legacy:v21inf
[INFO] [11:59:23.825] Executing post-job class org.sonar.plugins.core.issue.notification.SendIssueNotificationsPostJob
[INFO] [11:59:24.110] Executing post-job class org.sonar.plugins.core.batch.IndexProjectPostJob
[INFO] [11:59:24.411] Executing post-job class org.sonar.plugins.dbcleaner.ProjectPurgePostJob
[INFO] [11:59:24.428] -> Keep one snapshot per day between 2013-10-25 and 2013-11-21
[INFO] [11:59:24.428] -> Keep one snapshot per week between 2012-11-23 and 2013-10-25
[INFO] [11:59:24.428] -> Keep one snapshot per month between 2008-11-28 and 2012-11-23
[INFO] [11:59:24.428] -> Delete data prior to: 2008-11-28
[INFO] [11:59:24.442] -> Clean V21 POS Infrastructure [id=5325]
[INFO] [11:59:24.447] <- Clean snapshot 40997
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

Fab*_*eam 5

好吧,对于这样一个项目的分析持续时间,我并不感到惊讶(顺便说一句,文件数量并不那么重要-代码行数是IS)。

但是,您可以通过调整质量配置文件来绝对加快分析速度。您可能已使用“声纳与Findbugs的方式”。您可以仅从“声纳方式”开始尝试。

另外,您可以在Web界面中查看您的项目,以查看是否存在特定于很多问题的规则(或某些规则):如果是,则该规则与您的情况无关。