优化 Linux 上 GitLab 的速度,通常可以从 系统资源、GitLab 配置、数据库、存储、网络、使用习惯 等多个层面入手。下面按优先级给你一份实用优化清单。
GitLab 非常吃内存,官方建议:
| 用户规模 | 内存建议 |
|---|---|
| 小型团队(<20人) | 8GB+ |
| 中型团队(20–100人) | 16GB+ |
| 大型团队 | 32GB+ |
✅ 重点:
gitlab-rails、sidekiq、gitaly 会严重拖慢速度检查内存:
free -h
GitLab 对磁盘 IO 非常敏感:
建议:
编辑配置:
sudo gitlab-ctl reconfigure
sudo vi /etc/gitlab/gitlab.rb
puma['worker_processes'] = 2
puma['min_threads'] = 1
puma['max_threads'] = 4
sidekiq['max_concurrency'] = 10
然后:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
如果不用某些功能,可以关闭:
gitlab_rails['monitoring_enabled'] = false
prometheus_monitoring['enable'] = false
grafana['enable'] = false
gitlab-psql -d gitlabhq_production
在 /etc/gitlab/gitlab.rb 中:
postgresql['shared_buffers'] = "512MB"
postgresql['work_mem'] = "16MB"
postgresql['maintenance_work_mem'] = "128MB"
postgresql['effective_cache_size'] = "2GB"
然后:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart postgresql
sudo gitlab-ctl status gitaly
gitaly['configuration'] = {
storage: [
{
name: 'default',
path: '/var/opt/gitlab/git-data/repositories'
}
]
}
建议:
/home 或系统盘git://(无加密、慢)使用 Nginx / GitLab 内置 Nginx:
nginx['enable'] = true
nginx['worker_processes'] = 4
nginx['worker_connections'] = 10240
nginx['http2_enabled'] = true
concurrent = 2
sudo gitlab-rake cache:clear
sudo gitlab-ctl restart sidekiq
sudo gitlab-rake gitlab:cleanup:orphan_job_artifact_files
sudo gitlab-rake gitlab:cleanup:project_uploads
top
htop
iostat -x 1
访问:
https://your-gitlab/admin/monitoring
| 现象 | 常见原因 |
|---|---|
| 页面打开慢 | 内存不足 |
| Git clone 慢 | 磁盘 IO / 仓库过大 |
| CI 卡顿 | Runner 资源不足 |
| 登录慢 | LDAP / OAuth |
| 偶尔卡死 | Swap 使用 |
✅ 最快提升速度的方法:
puma / sidekiq 并发如果你愿意,我可以:
只要把以下信息发我即可: