Details
-
Type:
Improvement
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 9.1
-
Component/s: None
-
Labels:None
-
Edition:Community
-
Production Notes:None
Description
The web process does several DB checks and updates based on information reported by the plugins that can be skipped if plugins have not changed since the last time SonarQube started.
In addition, some of the database operations can be optimized with batch inserts and data caching.
If plugins haven't changed since last restart, we can skip the following:
- Registering rules in DB
- Registering QP in DB
- Registering metrics in DB
- Registering built in QPs in DB
- Load built in QPs from plugins
In addition to that, there's also room to optimize the following:
- Cache rule definitions after they're written to the DB, to be used by other startup steps;
- Cache all rule parameters with a single select to the DB;
- Verify default admin credential after signaling the web process as ready;
- Insert into DB active rules in batch mode;
- Insert into DB rules in batch mode in sequence (rule parameters should be saved afterwards)