![25 processos Sidekiq para Gitlab](https://rvso.com/image/617812/25%20processos%20Sidekiq%20para%20Gitlab.png)
Olhando htop
a saída no meu servidor, vejo 25 processos sidekiq gerados pelo Gitlab. Eu uso o Gitlab de forma privada, então nunca haverá carga, então duvido que todos esses processos sejam necessários, mas não consigo ver como configurar seu número.
Existe realmente algum motivo para eu me preocupar com isso em um servidor com recursos restritos?
Responder1
Claro, verifique este tópico aqui:https://github.com/gitlabhq/gitlabhq/issues/2780
Basta editar o sidekiq config.yml, observe a opção de simultaneidade:https://github.com/mperham/sidekiq/blob/master/examples/config.yml
Responder2
Editei os argumentos de inicialização do Sidekiq. No GitLab <7.0.0 está abaixo, scripts/background_jobs
mas em> 7.0.0 está abaixobin/background_jobs
Mudar:
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
}
Para:
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
}
Observe o -c 10
. Mude isso para o que você quiser.
Responder3
Na instalação do Debian da versão 9.3.0 eu tinha /etc/gitlab/gitlab.rb
linhas de configuração para o sidekiq.
Mudar
# sidekiq['concurrency'] = 25
para qualquer número que você achar adequado:
sidekiq['concurrency'] = 5
(O motivo pelo qual mudei foi porque os 25 processos padrão consumiam muita memória RAM, fazendo com que o swap fosse usado, tornando o gitlab muito lento. O desempenho melhorou muito para mim após essa mudança)
Responder4
Para mim funcionou apenas ir para /home/git/gitlab/config
. Havia um sidekiq.yml.example
arquivo. Acabei de correr:
$ cd /home/git/gitlab/config
$ cp sidekiq.yml.example sidekiq.yml
Usando vim sidekiq.yml
você verá que existe uma :concurrency:
opção. Defina-o para o número de processos sidekiq desejados, salve o arquivo e execute service gitlab restart
.
Isenção de responsabilidade: a localização da pasta de instalação do GitLab pode variar. Para mim foi/home/git/gitlab