25 Sidekiq-Prozesse für Gitlab

7

Wenn htopich mir die Ausgabe auf meinem Server ansehe, sehe ich 25 Sidekiq-Prozesse, die von Gitlab erzeugt wurden. Ich benutze Gitlab privat, daher wird es nie geladen, daher bezweifle ich, dass all diese Prozesse erforderlich sind, aber ich kann nicht sehen, wie ich ihre Anzahl konfigurieren kann.

Gibt es tatsächlich einen Grund für mich, mich auf einem Server mit eingeschränkten Ressourcen darum zu kümmern?

Alexander Filatov
quelle
Hast du das gelöst? Ich habe das gleiche Problem.
Alejandro Piad
Nein, ich fürchte, ich habe es so gelassen, wie es ist. Meistens, weil ich nicht herausfinden konnte, wie ich die Sidekiq-Konfiguration für Gitlab einstellen soll, wie in seiner Antwort @ md_5 vorgeschlagen.
Alexander Filatov
Ich habe mein Speicherproblem (Gitlab & Node.js) durch Erhöhen des Swaps gelöst, aber ich habe immer noch die 25 Sidekiq-Prozesse dort. Wenn es also Fortschritte gibt, würde ich mich freuen, dies zu wissen.
Alejandro Piad

Antworten:

3

Ich habe die Sidekiq-Startargumente bearbeitet. In GitLab <7.0.0 ist es unter, scripts/background_jobsaber in> 7.0.0 ist es unterbin/background_jobs

Veränderung:

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
}

Zu:

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
}

Beachten Sie die -c 10. Ändern Sie das zu was Sie wollen.

Gaui
quelle
2

In der Debian-Installation von Version 9.3.0 hatte /etc/gitlab/gitlab.rbich Konfigurationszeilen für Sidekiq.

Veränderung

# sidekiq['concurrency'] = 25

zu welcher Zahl auch immer Sie fit erscheinen:

sidekiq['concurrency'] = 5

(Der Grund, warum ich mich selbst geändert habe, war, dass die Standard-25-Prozesse viel RAM verbraucht haben, was dazu führte, dass Swap verwendet wurde, was wiederum dazu führte, dass Gitlab sehr langsam wurde. Die Leistung hat sich nach dieser Änderung für mich erheblich verbessert.)

Brimstedt
quelle
Ja. Dies ist der richtige Weg! Vergiss nicht zu rennen : gitlab-ctl reconfigure. Gibt es einen Grund, warum Sie 5 ausgewählt haben?
Gefahr89
1

Die meisten der vorgeschlagenen Lösungen für dieses Problem sowohl in diesem Q & A-Thread als auch an anderer Stelle im Internet scheinen veraltet zu sein, aber das Problem ist immer noch aktuell. Hier ist meine Lösung für Gitlab 9.5.3 unter Archlinux unter Verwendung der Community-Pakete:

Ich war nicht in der Lage, dies durch Hinzufügen eines sidekick.yml, sidekick_queues.ymloder zu irgendetwas anderem in / etc zum Laufen zu bringen, und habe die installierte Paketquelle direkt gehackt.

Bearbeiten Sie die Systemdatei /usr/share/webapps/gitlab/config/sidekiq_queues.ymlund fügen Sie diese Zeile direkt nach dem öffnenden ---YAML-Marker hinzu:

:concurrency: 5

Die resultierende YAML sieht ungefähr so ​​aus:

Auswahl_414

Dann sudo systemctl restart gitlab-sidekiqund ich bekam endlich nur 5 Fäden durch den Speicher anstatt 25.

Caleb
quelle
0

Für mich hat es funktioniert, einfach zu gehen /home/git/gitlab/config. Es gab eine sidekiq.yml.exampleDatei. Ich bin gerade gelaufen:

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

Wenn vim sidekiq.ymlSie verwenden, werden Sie sehen, dass es eine :concurrency:Option gibt. Stellen Sie die gewünschte Anzahl von Sidekiq-Prozessen ein, speichern Sie die Datei und führen Sie sie aus service gitlab restart.

Haftungsausschluss: Der Speicherort Ihres GitLab-Installationsordners kann variieren. Für mich war es/home/git/gitlab

CharlyDelta
quelle
0

Ich habe eine "From Source" -Gitlab-Version installiert und musste sie bearbeiten config/sidekiq_queues.ymlund hinzufügen :concurrency: X(wobei X Ihre gewünschte Anzahl von Prozessen ist.

Das sidekiq.ymlwird von gitlab nicht verwendet. Sie können dies sehen, wenn Sie sich den laufenden Prozess und seine Option -C ansehen.

der_do
quelle