25 процессов Sidekiq для Gitlab

25 процессов Sidekiq для Gitlab

Глядя на htopвывод на моем сервере, я вижу 25 процессов sidekiq, порожденных Gitlab. Я использую Gitlab в частном порядке, поэтому никакой нагрузки не будет, поэтому я сомневаюсь, что все эти процессы требуются, но я не вижу, как настроить их количество.

Есть ли вообще смысл беспокоиться об этом на сервере с ограниченными ресурсами?

решение1

Конечно, проверьте эту ветку здесь:https://github.com/gitlabhq/gitlabhq/issues/2780

Просто отредактируйте sidekiq config.yml, обратите внимание на опцию concurrency: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

Связанный контент