Sonarqube - 非常大的数据库

时间:2018-05-09 08:43:04

标签: database sonarqube storage

我发现这篇文章关于Sonarqube数据库的通常大小:

How big is a sonar database?

在我们的案例中,我们有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 |

1 个答案:

答案 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中修复。