Steps to tune Jenkins Multibranch pipeline using Development sonar edition for load of 100PR/hour

Must-share information (formatted with Markdown):

  • which versions are you using (SonarQube, Scanner, Plugin, and any relevant extension)
    9.2.1.49989 Development Edition
  • how is SonarQube deployed: zip, Docker, Helm
    Zip
  • what are you trying to achieve

We are trying to achieve a good performance of sonar PR analysis in Jenkins using Multibranch pipeline.
We need an initial performant setup for analysing PRs faster (within 5 - 10 min) .

We have close 1 million LOC. Normal days we have 10-20 PR analysis per hour. Peak days it may rise to 50-100 PRs/hour.

PR analysis are in queue and then taking around 1 hour time to analyze each PR. So, Queued time avg : 30min + sonar analysis time 60 min, ie., totally taking 90min or more for each PR.
In Peak times some PR analysis are not happening or taking hours of time to complete. Which causing delay in getting the status of the PR code changes.

Any suggestions to improvise our initial setup is much appreciated.

  • what have you tried so far to achieve this
    We increased the jenkins machine configuration like RAM etc
    We also increased the heap size of the sonar machine.

Hey there.

The first step would be upgrading to v9.9, which features 30% faster analysis of Java code (introduced in v9.4) and incremental analysis of Java code for PR Analyses (introduced in v9.6)

1 Like