硬件配置优化
GitLab配置优化
puma['worker_processes'] = 2,建议值为CPU核心数的1-2倍)和每个worker的线程数(如puma['max_threads'] = 4),降低内存占用(尤其适用于8GB及以下服务器)。sidekiq['max_concurrency'] = 10,默认25过高),使用sidekiq['queue_groups'] = ['*']让所有队列共享一个进程,节省内存但会延长后台任务处理时间(如邮件发送、仓库同步)。unicorn['worker_processes'](如5,根据CPU核心数设置)和unicorn['worker_timeout'](如60秒),避免过多进程占用内存或长时间阻塞请求。数据库(PostgreSQL)优化
postgresql['shared_buffers']为系统内存的25%-40%(如8GB内存设为2GB),postgresql['work_mem'] = '64MB'(提升复杂查询排序/哈希性能),postgresql['maintenance_work_mem'] = '128MB'(加速VACUUM、索引创建等维护操作),postgresql['max_connections']根据并发用户数调整(推荐为并发数的2倍)。gitlab-rake gitlab:db:index_usage:analyze)分析索引使用情况,删除未使用的索引,减少数据库写入开销。缓存配置优化
gitlab_rails['redis_cache_instance'] = "redis://127.0.0.1:6379"(需提前安装并启动Redis服务)。gitlab_rails['page_cache_storage_path'] = "/var/cache/gitlab"),减少重复请求的数据库查询和渲染时间,提升响应速度。存储配置优化
定期维护与清理
gitlab-rake gitlab:backup:cleanup)、无用的仓库分支(git remote prune origin)、孤立提交等,减少数据库和存储的负担。监控与日志管理
gitlab_rails['log_rotate_frequency'] = 'daily',gitlab_rails['log_max_size'] = '200MB'),定期清理过期日志(如每月删除超过30天的日志),避免日志文件占用过多磁盘空间。高可用性与负载均衡
upstream gitlab {
server 192.168.1.101:8080;
server 192.168.1.102:8080;
}
server {
listen 80;
location / {
proxy_pass http://gitlab;
}
}