硬件是GitLab运行的基础,需根据团队规模选择合适的配置:
/etc/sysctl.conf,降低vm.swappiness(如设置为10),减少系统对swap的依赖,避免内存不足时性能骤降。编辑/etc/gitlab/gitlab.rb(修改后需运行gitlab-ctl reconfigure生效),重点调整以下参数:
puma['threads_min'](如4)、puma['threads_max'](如16),提升并发处理能力;调整unicorn['worker_processes'](如等于CPU核心数),避免进程过多导致资源竞争;puma['worker_timeout'](如60秒),防止长时间挂起的请求占用资源;gitlab_rails['redis_cache_instance'] = "redis://127.0.0.1:6379"),加速数据读取;调整Redis内存限制(maxmemory),避免内存溢出;nginx['client_max_body_size'](如200m),允许更大的文件上传。GitLab依赖PostgreSQL,需优化其配置以提升数据库性能:
postgresql['shared_buffers']为服务器内存的25%-40%(如8GB内存设置为2GB),提升数据库缓存命中率;postgresql['max_worker_processes'](如等于CPU核心数),提升并行查询能力;postgresql['work_mem'](如4MB)、postgresql['maintenance_work_mem'](如64MB),提升复杂查询(如排序、聚合)的性能。gitlab-rake gitlab:cleanup:repos清理无效仓库,减少数据库负担;.gitlab-ci.yml中使用parallel关键字,将任务拆分为多个并行job,缩短构建时间;cache关键字缓存第三方依赖(如node_modules、vendor/bundle),避免每次构建都重新下载;