Question 25 processus Sidekiq pour Gitlab


Regarder htop En sortie sur mon serveur, je vois 25 processus sidekiq créés par Gitlab. J'utilise Gitlab en privé, donc il n'y aura jamais de charge, alors je doute que tous ces processus soient nécessaires, mais je ne vois pas comment configurer leur nombre.

Y a-t-il lieu de m'inquiéter à ce sujet sur un serveur dont les ressources sont limitées?


7
2017-09-13 10:20


origine


Avez-vous résolu ce problème? J'ai le même problème. - Alejandro Piad
Non, j'ai bien peur que ce soit comme ça. Principalement parce que je ne savais pas comment définir la configuration de sidekiq pour gitlab comme @ md_5 suggérée dans sa réponse. - Alexander Filatov
J'ai résolu mon problème de mémoire (Gitlab & Node.js) en augmentant l'échange, mais les 25 processus Sidekiq y sont toujours présents. Par conséquent, s'il y a des progrès, je serais heureux de le savoir. - Alejandro Piad


Réponses:


Bien sûr, vérifiez ce fil ici: https://github.com/gitlabhq/gitlabhq/issues/2780

Editez simplement le fichier sidekiq config.yml, notez l’option de concurrence: https://github.com/mperham/sidekiq/blob/master/examples/config.yml


3
2018-03-25 20:31



Bonjour, j’utilise également Gitlab et, à partir de la version 6.7.3, il n’existe plus de fichier de configuration spécifique à Sidekiq. Y at-il une solution de contournement pour cela? - Alejandro Piad


J'ai édité les arguments de démarrage Sidekiq. Dans GitLab <7.0.0 c'est sous scripts/background_jobs mais dans> 7.0.0 c'est sous bin/background_jobs

Changement:

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
}

Remarquez le -c 10. Changez cela en ce que vous voulez.


3
2017-08-05 02:45





Dans l’installation de Debian de la version 9.3.0, j’avais /etc/gitlab/gitlab.rb qui ont des lignes de configuration pour sidekiq.

Changement

# sidekiq['concurrency'] = 25

à n'importe quel nombre que vous semblez convenir:

sidekiq['concurrency'] = 5

(La raison pour laquelle j'ai changé moi-même était parce que les processus par défaut utilisaient beaucoup de RAM, ce qui rendait l'utilisation de swap, ce qui ralentissait considérablement gitlab. Les performances se sont beaucoup améliorées après ce changement.)


2
2017-07-26 18:55



Oui. C'est le chemin à parcourir! N'oubliez pas de courir: gitlab-ctl reconfigure. Une raison pour laquelle vous avez sélectionné 5? - danger89


La plupart des solutions proposées à ce problème à la fois dans ce fil de questions-réponses et ailleurs en ligne semblent obsolètes, mais le problème est toujours d'actualité, voici donc ma solution pour Gitlab 9.5.3 sur Archlinux en utilisant les packages de la communauté:

J'ai été incapable de faire fonctionner cela en ajoutant un sidekick.yml, sidekick_queues.yml, ou à quoi que ce soit d'autre dans / etc et ont eu recours au piratage direct de la source du paquet installé.

Editer le fichier système /usr/share/webapps/gitlab/config/sidekiq_queues.yml et ajoutez cette ligne juste après l'ouverture --- Marqueur YAML:

:concurrency: 5

Le YAML résultant ressemble à ceci:

selection_414

ensuite sudo systemctl restart gitlab-sidekiq et finalement, je n’ai reçu que 5 discussions à travers la mémoire au lieu de 25.


1
2017-09-10 07:51





Pour moi cela a fonctionné pour aller juste à /home/git/gitlab/config. Il y avait un sidekiq.yml.example fichier. Je viens de courir:

$ cd /home/git/gitlab/config
$ cp sidekiq.yml.example sidekiq.yml

En utilisant vim sidekiq.yml vous verrez qu'il y a un :concurrency: option. Définissez le nombre de processus sidekiq de votre choix, enregistrez le fichier et exécutez service gitlab restart.

Clause de non-responsabilité: l'emplacement du dossier d'installation de GitLab peut varier. Pour moi c'était /home/git/gitlab


0
2017-08-30 12:27





J'ai une version "à partir de la source" de gitlab installée et je devais la modifier config/sidekiq_queues.yml et ajouter :concurrency: X (où X est le nombre de processus souhaité.

le sidekiq.yml n'est pas utilisé par gitlab. Vous pouvez voir cela si vous regardez le processus en cours et son option -C.


0
2017-09-08 09:41