gitlab减少运行内存配置
介绍:
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