![Gitlab용 Sidekiq 프로세스 25개](https://rvso.com/image/617812/Gitlab%EC%9A%A9%20Sidekiq%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%2025%EA%B0%9C.png)
내 서버의 출력을 보면 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
버전 9.3.0의 Debian 설치에는 /etc/gitlab/gitlab.rb
sidekiq에 대한 구성 라인이 있었습니다.
변화
# 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