Gitlab 的 25 个 Sidekiq 进程

Gitlab 的 25 个 Sidekiq 进程

查看htop服务器上的输出,我看到 Gitlab 生成了 25 个 sidekiq 进程。我私下使用 Gitlab,因此永远不会有任何负载,所以我怀疑所有这些进程都是必需的,但我不知道如何配置它们的数量。

在资源受限的服务器上我是否真的有必要担心这一点?

答案1

当然,请查看此处的话题:https://github.com/gitlabhq/gitlabhq/issues/2780

只需编辑 sidekiq config.yml,注意并发选项:https://github.com/mperham/sidekiq/blob/master/examples/config.yml

答案2

我编辑了 Sidekiq 启动参数。在 GitLab <7.0.0 中,它位于下方scripts/background_jobs,但在 >7.0.0 中,它位于下方bin/background_jobs

改变:

function start_sidekiq
{
  bundle exec sidekiq -q post_receive -q mailer -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e $RAILS_ENV -P $sidekiq_pidfile $@ >> $sidekiq_logfile 2>&1
}

到:

function start_sidekiq
{
  bundle exec sidekiq -c 10 -q post_receive -q mailer -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e $RAILS_ENV -P $sidekiq_pidfile $@ >> $sidekiq_logfile 2>&1
}

注意-c 10。将其更改为您想要的任何内容。

答案3

在 Debian 安装版本 9.3.0 中,我拥有/etc/gitlab/gitlab.rb用于​​ sidekiq 的配置行。

改变

# sidekiq['concurrency'] = 25

您认为合适的任何数字:

sidekiq['concurrency'] = 5

(我改变自己的原因是默认的 25 个进程占用了大量内存,导致使用了交换空间,从而使 gitlab 变得非常慢。经过这次改变,我的性能提高了很多)

答案4

对我来说,只需转到 即可/home/git/gitlab/config。有一个sidekiq.yml.example文件。我只需运行:

$ cd /home/git/gitlab/config
$ cp sidekiq.yml.example sidekiq.yml

使用时vim sidekiq.yml你会看到一个选项:concurrency:。将其设置为你想要的 sidekiq 进程数,保存文件并运行service gitlab restart

免责声明:您的 GitLab 安装文件夹的位置可能会有所不同。对我来说,它是/home/git/gitlab

相关内容