【问题标题】:Sonarqube - Very big databaseSonarqube - 非常大的数据库
【发布时间】:2018-05-09 08:43:03
【问题描述】:

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

How big is a sonar database?

在我们的例子中,我们需要分析 3,584,947 个 LOC。如果每 1,000 个 LOC 存储 350 Ko 的数据空间,它应该使用大约 1.2Gb 但是我们发现我们的 SonarQube 数据库实际上存储了超过 20Gb...

官方文档 (https://docs.sonarqube.org/display/SONAR/Requirements) 说,对于具有 4 年历史的 3000 万个 LOC,他们使用不到 20Gb...

在我们的常规设置 > 数据库清理器中,我们有所有默认值,除了“删除所有分析之后”设置为 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 |

【问题讨论】:

  • 我还发现,对我们来说最大的表是 live_measures,我假设它与质量门的实时更新有关。
  • 另外我建议在邮件列表中询问这个问题:groups.google.com/forum/#!forum/sonarqube
  • @SimonSchrottner 仅供参考,表 live_measures 已在 7.0 中引入。无论如何,它不应该改变总大小,因为它包含从另一个表中提取的数据。

标签: database sonarqube storage


【解决方案1】:

20Gb 的磁盘对于 350 万行代码来说听起来太大了。作为比较,SonarSource 的内部 PostgreSQL 架构对于 1M 行代码是 2.1Gb。

我建议清理数据库以刷新统计信息并回收死存储。命令是 PostgreSQL 上的 VACUUM FULL。其他数据库上可能有类似的命令。如果不是更好,请提供最大表的列表。

编辑

ce_scanner_context 的意外大小是由于https://jira.sonarsource.com/browse/SONAR-10658 造成的。此错误将在 6.7.4 和 7.2 中修复。

【讨论】:

  • 感谢您的回答。我们在 SQLServer 上,我们的 DBA 正在寻找 VACCUM FULL 等价物
  • 我在我的帖子的编辑中列出了我们拥有的最大表格
  • 100万行用了多少ES硬盘空间?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-07
  • 2014-10-13
  • 1970-01-01
  • 1970-01-01
  • 2018-01-08
  • 1970-01-01
相关资源
最近更新 更多