极狐GitLab 安装系统要求

此页面包含有关安装极狐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是仅支持的数据库,并与软件包捆绑在一起。当然,您也可以使用外部 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(测试基于极狐GitLab 16.10 及以后版本)
16.x 13.6 15.x(测试基于极狐GitLab 16.1 及以后版本)
15.x 12.10 14.x(测试基于极狐GitLab 15.11 及以后版本), 13.x

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

要使用 PostgreSQL 最新版本而不是指定版本,请检查Linux 软件包中是否捆绑了较新的版本

您必须确保有些扩展被加载到了极狐GitLab 数据库中。更多详情,可以查看管理 PostgreSQL 扩展

极狐GitLab Geo

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

更多详情,请查看极狐GitLab Geo 系统要求

区域设置兼容性

当你在 glibc 中修改区域设置数据时,PostgreSQL 数据库文件在不同操作系统版本之间不完全兼容。为了避免索引损坏,检查区域设置兼容性

当你:

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

更多详情,请查看为 PostgreSQL 升级操作系统

操作系统语言环境兼容性和静默索引损坏

glibc 中语言环境数据的更改意味着 PostgreSQL 数据库文件在不同操作系统版本之间不完全兼容。

为避免索引损坏,在以下情况,检查语言环境兼容性:

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

极狐GitLab schemas

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

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

主要的极狐GitLab 应用使用以下三个 schema:

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

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

PostgreSQL 微调

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

可调的设置 必需值 更多信息
work_mem 最小 8MB 这是 Linux 软件包的默认值。在大型部署中,如果需要创建临时文件,您应该增加此设置。
maintenance_work_mem 最小 64MB 针对大型数据库服务器,您需要增加此值。
shared_buffers 最小 2GB 针对大型数据库服务器,您需要增加此值。Linux 软件包的默认值为服务器 RAM 的 25%。
statement_timeout 最大 1 分钟 语句超时机制可防止出现因锁导致的失控问题,以及数据库拒绝新客户端连接的情况。一分钟设置与 Puma rack 超时设置相匹配。

Puma

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

要调整 Puma 设置:

Workers

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

一个节点的工 Puma 工作器数量不能少于 2 个。例如,一个节点应该有:

  • 2 个工作器,2 个 CPU 核心和 8 GB 内存
  • 2 个工作器,4 个 CPU 核心和 4 GB 内存
  • 4 个工作器,4 个 CPU 核心和 8 GB 内存
  • 6 个工作器,8 个 CPU 核心和 8 GB 内存
  • 8 个工作器,8 个 CPU 核心和 16 GB 内存

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

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

线程

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

  • 一个最大内存为 2GB 的操作系统,一个线程
  • 超过 2GB 内存的操作系统,四个线程

线程数量过多会导致频繁的内存交换,进而降低性能。

Redis

Redis存储所有的用户会话和后台任务,并且平均每个用户需要 25 kB 的存储空间。

在极狐GitLab 16.0 及以后版本中,需要 Redis 6.x 或 7.x。关于 Redis 的生命周期结束日期,查看Redis 文档

对 Redis:

Sidekiq

Sidekiq使用多个线程来处理后台作业。此过程初始消耗的内存会超过 200MB,且可能随着时间的推移而增长,因为内存泄漏。

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

Prometheus

默认情况下,Prometheus及其相关的导出器能够监控极狐GitLab。这些进程会消耗接近 200MB 内存。

更多详情,请查阅使用 Prometheus 监控极狐GitLab

支持的 web 浏览器

极狐GitLab 支持如下的 web 浏览器:

极狐GitLab 支持:

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

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

相关主题