{{< details >}}

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: 私有化部署

{{< /details >}}

极狐GitLab 有特定的安装要求。

存储

所需的存储空间在很大程度上取决于您希望在极狐GitLab 中拥有的代码库的大小。作为指导,您应该至少拥有与所有代码库合计相同的空闲空间。

Linux 软件包安装需要大约 2.5 GB 的存储空间。为了存储灵活性,可以考虑通过逻辑卷管理挂载硬盘。您应该拥有至少 7,200 RPM 的硬盘或固态硬盘,以减少响应时间。

由于文件系统性能可能会影响极狐GitLab 的整体性能,您应该避免使用基于云的文件系统进行存储

CPU

CPU 要求取决于用户数量和预期工作负载。工作负载包括用户的活动、自动化和镜像的使用以及代码库的大小。

对于最多 20 个请求每秒或 1,000 个用户,您应该拥有 8 个 vCPU。对于更多用户或更高的工作负载,请参阅参考架构

内存

内存要求取决于用户数量和预期工作负载。工作负载包括用户的活动、自动化和镜像的使用以及代码库的大小。

对于最多 20 个请求每秒或 1,000 个用户,您应该拥有 16 GB 的内存。对于更多用户或更高的工作负载,请参阅参考架构

在某些情况下,极狐GitLab 可以在至少 8 GB 的内存下运行。有关更多信息,请参阅在内存受限环境中运行极狐GitLab

PostgreSQL

PostgreSQL 是唯一支持的数据库,并与 Linux 软件包捆绑在一起。您也可以使用外部 PostgreSQL 数据库必须正确调整

根据用户数量,PostgreSQL 服务器应该有:

  • 对于大多数极狐GitLab 实例,至少 5 到 10 GB 的存储
  • 对于极狐GitLab旗舰版,至少 12 GB 的存储(需要导入 1 GB 的漏洞数据)

对于以下版本的极狐GitLab,使用这些 PostgreSQL 版本:

极狐GitLab 版本 最低 PostgreSQL 版本 最高 PostgreSQL 版本
18.x 16.x 待定
17.x 14.x 16.x
16.x 13.6 15.x
15.x 12.10 14.x、13.x

小版本的 PostgreSQL 发布仅包含错误和安全修复。始终使用最新的小版本以避免 PostgreSQL 中的已知问题。

要使用比指定版本更新的 PostgreSQL 主要版本,请检查是否有更新版本与 Linux 软件包捆绑在一起

您还必须确保某些扩展加载到每个极狐GitLab 数据库中。有关更多信息,请参阅管理 PostgreSQL 扩展

极狐GitLab Geo

对于极狐GitLab Geo,您应该使用 Linux 软件包或验证的云提供商来安装极狐GitLab。与其他外部数据库的兼容性不受保证。

有关更多信息,请参阅运行 Geo 的要求

区域设置兼容性

当您更改 glibc 中的区域设置数据时,PostgreSQL 数据库文件在不同操作系统之间不再完全兼容。为避免索引损坏,当您:

  • 在服务器之间移动二进制 PostgreSQL 数据。
  • 升级您的 Linux 发行版。
  • 更新或更改第三方容器映像。

时,检查区域设置兼容性

有关更多信息,请参阅升级 PostgreSQL 的操作系统

极狐GitLab 模式

您应该专门为极狐GitLab、GeoGitaly Cluster 或其他组件创建或使用数据库。不要创建或修改数据库、模式、用户或其他属性,除非您遵循:

  • 极狐GitLab 文档中的程序
  • 极狐GitLab 支持或工程师的指导

主要的极狐GitLab 应用程序使用三个模式:

  • 默认的 public 模式
  • gitlab_partitions_static(自动创建)
  • gitlab_partitions_dynamic(自动创建)

在 Rails 数据库迁移期间,极狐GitLab 可能会创建或修改模式或表。数据库迁移会根据极狐GitLab 代码库中的模式定义进行测试。如果您修改任何模式,极狐GitLab 升级可能会失败。

PostgreSQL 调优

以下是外部管理的 PostgreSQL 实例的一些必需设置。

可调设置 必需值 更多信息
work_mem 最低 8MB 此值是 Linux 软件包默认设置。在大型部署中,如果查询创建临时文件,您应该增加此设置。
maintenance_work_mem 最低 64MB 对于较大的数据库服务器需要更多。
shared_buffers 最低 2GB 对于较大的数据库服务器需要更多。Linux 软件包默认设置为服务器 RAM 的 25%。
statement_timeout 最大 1 分钟 声明超时可防止锁定问题,并使数据库拒绝新客户端。1 分钟匹配 Puma rack 超时设置。

Puma

推荐的 Puma 设置取决于您的安装。默认情况下,Linux 软件包使用推荐设置。

要调整 Puma 设置:

工作进程

推荐的 Puma 工作进程数量在很大程度上取决于 CPU 和内存容量。默认情况下,Linux 软件包使用推荐的工作进程数量。有关如何计算此数量的更多信息,请参阅 puma.rb

节点的 Puma 工作进程数不得少于两个。例如,节点应该有:

  • 2 个 CPU 核心和 8 GB 内存的两个工作进程
  • 4 个 CPU 核心和 4 GB 内存的两个工作进程
  • 4 个 CPU 核心和 8 GB 内存的四个工作进程
  • 8 个 CPU 核心和 8 GB 内存的六个工作进程
  • 8 个 CPU 核心和 16 GB 内存的八个工作进程

默认情况下,每个 Puma 工作进程的内存限制为 1.2 GB。您可以在 /etc/gitlab/gitlab.rb调整此设置

您还可以增加 Puma 工作进程的数量,前提是有足够的 CPU 和内存容量。更多的工作进程将减少响应时间并改善处理并行请求的能力。运行测试以验证您的安装的最佳工作进程数量。

线程

推荐的 Puma 线程数量取决于系统总内存。节点应该使用:

  • 对于最大 2 GB 内存的操作系统使用一个线程
  • 对于超过 2 GB 内存的操作系统使用四个线程

更多线程会导致过度交换和性能下降。

Redis

Redis 存储所有用户会话和后台任务,平均每个用户大约需要 25 kB。

在极狐GitLab 16.0 及更高版本中,Redis 6.2.x 或 7.x 是必需的。

对于 Redis:

  • 使用独立实例(有或没有高可用性)。Redis 集群不受支持。
  • 适当地设置逐出策略

Sidekiq

Sidekiq 使用多线程进程处理后台作业。此进程最初消耗超过 200 MB 的内存,并可能由于内存泄漏而随着时间增长。

在一个活跃用户超过 10,000 的服务器上,Sidekiq 进程可能会消耗超过 1 GB 的内存。

Prometheus

默认情况下,Prometheus 及其相关导出器已启用以监控极狐GitLab。这些进程大约消耗 200 MB 的内存。

有关更多信息,请参阅使用 Prometheus 监控极狐GitLab

支持的网页浏览器

极狐GitLab 支持以下网页浏览器:

  • Mozilla Firefox
  • Google Chrome
  • Chromium
  • Apple Safari
  • Microsoft Edge

极狐GitLab 支持:

  • 这些浏览器的两个最新主要版本
  • 支持的主要版本的当前次要版本

在这些浏览器中禁用 JavaScript 运行极狐GitLab 是不受支持的。

相关主题