一、硬件與系統基礎優化
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至最新穩定版本,獲取性能優化和安全補丁。