一、硬件与系统基础优化
apt update && apt upgrade -y
保持系统最新,获取性能改进和安全补丁。二、GitLab核心配置调优
/etc/gitlab/gitlab.rb
,将puma['worker_processes']
设置为CPU核心数(2-4核机器推荐2),puma['max_threads']
设为4(平衡并发与内存占用);应用配置后执行sudo gitlab-ctl reconfigure && sudo gitlab-ctl restart
。sidekiq['max_concurrency']
降至10,sidekiq['min_concurrency']
设为5;通过sidekiq['queue_groups'] = ['*']
让所有队列共享一个进程,大幅节省内存(代价是后台任务处理速度变慢)。postgresql['shared_buffers']
设为系统内存的25%-40%(如8GB内存设为2GB),postgresql['max_worker_processes']
降至4(减少数据库工作进程数);定期优化数据库索引(使用GitLab内置工具自动优化或手动执行REINDEX
)。三、存储与缓存优化
/var/opt/gitlab
)挂载到SSD,提升仓库读写速度;对于大附件、备份文件等非核心数据,配置对象存储(如Amazon S3、MinIO),减少本地磁盘压力。/etc/gitlab/gitlab.rb
配置gitlab_rails['redis_cache_instance'] = "redis://127.0.0.1:6379"
;启用页面缓存(gitlab_rails['page_cache_storage_path'] = "/var/cache/gitlab"
),减少重复请求的响应时间。四、CI/CD流程优化
cache:
指令缓存依赖项)和并行执行(parallel:
指令拆分任务到多个节点),缩短构建时间。五、高可用性与负载均衡
upstream gitlab { server 192.168.1.101:8080; server 192.168.1.102:8080; }
);通过nginx['worker_processes'] = 2
调整Nginx worker进程数,匹配CPU核心数。六、监控与维护
git gc
(Git垃圾回收)压缩仓库数据,减少仓库体积;升级GitLab至最新稳定版本,获取性能优化和安全补丁。