gitlab减少运行内存配置

发布时间 2023-11-10 11:43:36作者: 一点意思

介绍:

GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。它是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。该平台广泛使用于软件开发过程中,主要针对group和project两个维度进行代码和文档管理,其中group是群组,project是工程项目,一个group可以管理多个project。此外,它也提供了一系列命令行工具以便于用户进行服务的管理和控制。

运行组件(默认):

  通过gitlab-ctl status查询当前系统内运行的组件。

  • Puma Web服务器:提供网页和GitLab API,处理前端请求并与后端Ruby应用程序交互。
  • Nginx:作为Web前端,接收并代理所有到GitLab的请求。
  • Sidekiq:作为作业队列,负责处理后台耗时任务。
  • Redis:作为Sidekiq的数据库后端,存储作业信息、元数据和传入作业的非持久性数据。
  • Gitaly:提供对Git仓库的高级RPC访问,只处理仓库数据。
  • gitlab-workhorse:作为HTTP请求代理,所有的HTTP请求都会通过gitlab-workhorse,然后由其通过Ruby程序HTTP服务器(Unicorn)转发给后端Ruby应用程序。
  • gitlab-shell:它是GitLab的基础设施层,提供了一些必要的工具和脚本,如SSH密钥管理、Omnibus包管理器等。
  • postgreSql:PostgreSQL是GitLab的默认数据库,它记录了GitLab的一些配置信息。

修改配置:

通过关闭内置redis,如果没有自定义安装redis就跳过。
redis['enable'] = false;
开启自定义安装redis
 gitlab_rails['redis_host'] = "xxx.xxx.xxx.xxx"
 gitlab_rails['redis_port'] = 2200
 gitlab_rails['redis_ssl'] = false
 gitlab_rails['redis_password'] = "xxxx"
 gitlab_rails['redis_database'] = 5
 gitlab_rails['redis_enable_client'] = true

减少nginx进程数量
nginx['work_processes'] = 1

减少puma服务器并发数,内存,集群等
puma['min_threads'] = 1
puma['max_threads'] = 2
puma['per_worker_max_memory_mb'] = 128 
puma['worker_processes'] = 0

减少sidekiq并发
sidekiq['max_concurrency'] = 2
sidekiq['min_concurrency'] = 1