Глядя на 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