2013-11-25 48 views
3

我试图弄清楚为什么在1901个文件的项目中,需要20分钟才能做声纳分析。 是的,有93,000违规(这是现在正在重写的遗留代码)。sonarqube:缓慢的分析:30秒的maven,20分钟的声纳

这个问题对于我的其他一些项目来说更糟,那里的声呐可能需要一个小时才能完成分析。

详细信息如下,但击穿这是... ...上的JavaSource

2分钟...

[INFO] [11:41:39.452] Sensor JavaSourceImporter... 
[INFO] [11:43:26.651] Sensor JavaSourceImporter done: 107199 ms 

3分钟...

[INFO] [11:43:26.726] 1901 source files to be analyzed 
<SNIP> 
[INFO] [11:46:00.170] 1901/1901 source files analyzed 

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 

4上PMD分钟...

[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 

2分钟jacoco ...

[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 

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

[INFO] [11:54:32.009] Execute decorators... 
[INFO] [11:59:13.444] Store results in database 

它只是慢,因为代码有很多违规?我能做些什么来加快速度?


Sonarqube:4.0版(在Windows Server 2008 R2 - SP1:英特尔E6550 2Duo 2.33GHz的@,6GB内存,64位)

MySQL的:5.6(同一个盒子声纳)新的空DB:msqld。 EXE “CPU平均7.14”

詹金斯:1.540

詹金斯声纳插件:2.1

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

JENKINS: “与Maven分析” NOT “与SonarQube亚军分析”


[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] ------------------------------------------------------------------------ 

回答

4

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

但是,您可以通过调整质量配置文件来加速分析。您可能使用过“Findbugs的声纳方式”。你可以尝试只用“声纳方式”开始。另外,您可以在Web界面中查看您的项目,看看是否存在特别存在很多问题的规则(或某些规则):如果是这样,也许规则与您的案例无关。

+0

对不起Fabrice,我只注意到你的答案。不幸的是,它遗留的代码,我们正在重构,确实有很多问题。我拒绝了规则的数量以减少违规数量,并且当我们删除了50%的代码时,然后我将为该项目恢复规则。顺便说一句:遗留代码是500,000行和50000次违规,所以相当大。我还将Sonar DB移至SSD。 –