Gitlab용 Sidekiq 프로세스 25개

Gitlab용 Sidekiq 프로세스 25개

내 서버의 출력을 보면 htopGitlab에서 생성된 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

버전 9.3.0의 Debian 설치에는 /etc/gitlab/gitlab.rbsidekiq에 대한 구성 라인이 있었습니다.

변화

# sidekiq['concurrency'] = 25

당신이 적합하다고 생각되는 숫자로:

sidekiq['concurrency'] = 5

(자체를 변경한 이유는 기본 25개 프로세스가 RAM을 많이 먹어서 스왑을 사용하게 되었고 결과적으로 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

관련 정보