我发现这篇文章关于Sonarqube数据库的通常大小:
在我们的案例中,我们有3,584,947个LOC进行分析。如果每1000个LOC存储350 Ko的数据空间它应该使用大约1.2Gb但是我们发现我们的SonarQube数据库实际上存储了超过20Gb ...
官方文档(https://docs.sonarqube.org/display/SONAR/Requirements)表示,对于拥有4年历史的3000万LOC,他们使用不到20Gb ......
在我们的常规设置>数据库清理程序除了&#34之外我们都有默认值;删除"之后的所有分析。 wich设置为360而不是260
在我们的案例中可以创建如此多的数据???
我们使用sonarqube 6.7.1版本
修改
正如@simonbrandhof所说,这是我们最大的表格
| Table Name | # Records | Data (KB) |
|`dbo.project_measures` | 12'334'168 | 6'038'384 |
|`dbo.ce_scanner_context`| 116'401 | 12'258'560 |
|`dbo.issues` | 2'175'244 | 2'168'496 |
答案 0 :(得分:2)
对于3.5M的代码行,20Gb的磁盘声音太大了。为了进行比较,SonarSource的内部PostgreSQL架构是1MGb,用于1M行代码。
我建议清理db以刷新统计信息并回收死存储空间。 PostgreSQL上的命令是VACUUM FULL
。其他数据库可能有类似的命令。如果不是更好,那么请提供最大的表格列表。
修改
表ce_scanner_context
的意外尺寸归因于https://jira.sonarsource.com/browse/SONAR-10658。这个bug将在6.7.4和7.2中修复。