GitLab性能调优-占用内存过大的问题

2018年12月7日11:05:24 发表评论 20,889 views
广告也精彩

GitLab性能调优-占用内存过大的问题
使用GitLab作为自用或者公司内部使用的代码托管平台,都是很不错的,但是最近群里张总反映,Gitlab服务器总会宕机,经过排查确定,是开发人员同时操作的时候,内存跑满导致,很多时候不方便加内存,比如我个人用的阿里云Ecs内存太小,Gitlab要求的内存配置比较高,所以修改gitlab线程数来控制一下。

一、Gitlab安装部署传送门

如果您是初学者,建议先安装体验下gitlab,详细部署方法如下:

Gitlab的安装部署章节

二、gitlab内存过高的处理方法

首先需要确定你已经知道官方明确要求的GitLab的硬件需求了,硬件需求详见GitLab Requirements,简单来讲,官方推荐最低物理配置是2核,4G,下面就总结一下减少GitLab占用内存的一些方法

2.1 减少进程数与超时时间

修改配置文件/etc/gitlab/gitlab.rb中的worker_processesworker_timeout:

unicorn['worker_processes'] = 5   #默认是被注释掉的,最小不能低于2,否者会卡死
# 我的服务器配置为4C 8G,所以调整为5.
unicorn['worker_timeout'] = 60    #设置超时时间

GitLab性能调优-占用内存过大的问题
官方建议该值是等于CPU核心数+1,可以提高服务器的响应速度,如果内存只有4G,或者服务器上有其它业务,就不要改了,以免内存不足。另外,这个参数最小值是2,设为1服务器可能会卡死,但如果您的内存已消耗过高,请根据业务自行调整,比如8G内存建议您 调整4左右,优化是持续性的工作。

重载配置

sudo gitlab-ctl reconfigure       #改完执行,重载配置

gitlab常用运维命令

gitlab-ctl help               #查看gitlab帮助信息
gitlab-ctl show-config        #查看gitlab配置信息
gitlab-ctl status            #查看gitlab状态
gitlab-ctl reconfigure       #重新加载Gitlab配置
gitlab-ctl restart           #重启Gitlab所有组件
gitlab-ctl stop              #停止Gitlab所有组件
gitlab-ctl tail postgresql   #查看postgresql的日志

2.2 启用Swap分区

使用Swap的方法,请自行搜索,需要注意的是,修改完配置以后,需要执行下面的命令使配置生效:

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

三、 gitlab默认使用PostgreSQL,如果您开启了,可以进行如下优化,

3.1 减少数据库缓存

postgresql['shared_buffers'] = "256MB"    #默认为256MB,可适当改小

3.2 减少数据库并发数

postgresql['max_worker_processes'] = 8     #默认为8,可适当改小

3.3 减少sidekiq并发数

sidekiq['concurrency'] = 25               #默认是25,可适当改小

四、最终验证结果

GitLab性能调优-占用内存过大的问题

注意
1,所有配置都需要:sudo gitlab-ctl reconfigure 进行重载生效
2,调优这件事没有一次到位,需要根据业务逐渐调整

以上就是《GitLab性能调优-占用内存过大的问题》的几点看法,在此感谢讨论群内《张礼兵》的投稿。
更多精彩:Git相关文章

  • QQ精品交流群
  • weinxin
  • 微信公众号
  • weinxin
广告也精彩
  • A+
所属分类:GIT
admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: