在 Linux 服务器上优化 GitLab,可以从 系统资源、GitLab 配置、数据库、存储、网络、运维 几个方面入手。下面按「实用优先」给你一个较完整的优化指南。
GitLab 比较吃内存,官方建议:
查看内存占用:
free -h
top
iostat -x 1
配置文件路径:
/etc/gitlab/gitlab.rb
修改后执行:
gitlab-ctl reconfigure
GitLab 13+ 默认使用 Puma
puma['worker_processes'] = 2
puma['worker_timeout'] = 60
经验值:
如果不用:
可禁用:
gitlab_rails['gitlab_email_enabled'] = false
registry['enable'] = false
pages['enable'] = false
mattermost['enable'] = false
sidekiq['max_concurrency'] = 10
小服务器可降到 5–8
gitlab_ci['concurrent'] = 4
避免 CI 打满服务器
GitLab 自带 PostgreSQL
postgresql['max_connections'] = 200
postgresql['shared_buffers'] = "512MB"
postgresql['work_mem'] = "16MB"
gitlab-rake gitlab:db:optimize
如果是多节点:
分开部署
git gc --aggressive
git repack -ad
GitLab 默认已用 Redis,不要关
nginx['enable'] = true
可加:
proxy_cache_valid 200 302 10m;
nginx['redirect_http_to_https'] = true
nginx['allowlist'] = ['192.168.1.0/24']
gitlab-ctl status
gitlab-rake gitlab:check
/var/log/gitlab/
gitlab_rails['backup_keep_time'] = 604800
如果你只是:
可以考虑:
| 问题 | 原因 | 解决 |
|---|---|---|
| 页面卡 | 内存不足 | 加内存 / 降 worker |
| CI 慢 | CPU 满 | 限制并发 |
| 磁盘满 | 备份 / 日志 | 清理 |
| 502 | Puma 崩 | 看日志 |
如果你愿意,可以告诉我:
我可以直接给你一套 可复制的 gitlab.rb 优化配置。