GitLab 配置优化
代码库最近换了,使用了 GitLab。这两天观察了下服务器的使用情况,发现 GitLab 很吃内存。直接占用了 30 多个G的内存。
一、发现问题
使用 top 命令查看内存时,发现前几十个都是同一个应用程序。再通过 ll /proc/pid 命令查找具体程序位置,发现都是 GItLab 。
这其中包含了 gitlab、postgresql、nginx 等各种 gitlab 所需的服务。具体如下图:
二、查找原因
经过查证。GitLab 在默认情况下,其配置是很吃配置的,如工作的核数,是当前机器 CPU 核数 +1。再加上数据库缓存、Sidekiq 等都需要设置。
具体可以参考:
三、解决
问题已经找到,那就直接修改问题即可。
主要就是修改 gitlab.rd 配置文件即可。(下面的配置可以满足几十人的工作需求)
1、修改 Puma(在 13.0版本后是这个,以前是unicorn)
主要是设置工作进程个数和最大、最小线程个数。
2、修改 Sidekiq
设置 Sidekiq 并发个数,建议是设置成相同的数值。
3、修改 postgresql
设置缓存大小、工作进程个数。