web-dev-qa-db-ja.com

Gitlab向けの25のSidekiqプロセス

サーバーのhtop出力を見ると、Gitlabによって25のsidekiqプロセスが生成されています。私はGitlabをプライベートで使用しているため、負荷がかかることはないので、これらのすべてのプロセスが必要かどうかは疑問ですが、その数を構成する方法がわかりません。

リソースが制限されたサーバーでそれを気にする必要があるのですか?

7

確かに、このスレッドをここで確認してください: https://github.com/gitlabhq/gitlabhq/issues/278

Sidekiq config.ymlを編集するだけで、同時実行オプションに注意してください: https://github.com/mperham/sidekiq/blob/master/examples/config.yml

3
md_5

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
}

To:

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
Gaui

バージョン9.3.0のDebianインストールでは、/etc/gitlab/gitlab.rb sidekiqの設定行があります。

変化する

# sidekiq['concurrency'] = 25

あなたが合うと思われる数に:

sidekiq['concurrency'] = 5

(私が自分を変更した理由は、デフォルトの25プロセスが大量のRAMを消費し、スワップが使用されるためにgitlabが非常に遅くなったためです。この変更後、パフォーマンスが大幅に向上しました)

2
Brimstedt

このQ&Aスレッドとオンラインの他の場所の両方でこの問題に対して提案されている解決策のほとんどは古くなっているようですが、problemはまだ最新なので、ArchlinuxのGitlab 9.5.3の私の解決策は次のとおりですコミュニティパッケージの使用:

sidekick.ymlsidekick_queues.yml、または/ etc内の他のものに追加することによってこれを機能させることができず、インストールされたパッケージソースを直接ハッキングすることに頼りました。

システムファイル/usr/share/webapps/gitlab/config/sidekiq_queues.ymlを編集し、開始行--- YAMLマーカーの直後に次の行を追加します。

:concurrency: 5

結果のYAMLは次のようになります。

selection_414

その後、Sudo systemctl restart gitlab-sidekiqを使用すると、メモリを25スレッドではなく5スレッドで使用するようになりました。

1
Caleb

「ソースから」インストールされたgitlabバージョンがあり、config/sidekiq_queues.ymlを編集して:concurrency: Xを追加する必要がありました(Xは必要なプロセス数です)。

sidekiq.ymlはgitlabでは使用されません。実行中のプロセスとその-Cオプションを見るとわかります。

0
der_do

私にとっては、/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でした

0
CharlyDelta