毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。
0. はじめに
GitLab 12.9がリリースされました。
GitLab 12.9 released with Vault App, Code Quality Reports and Group Deploy Tokens | GitLab https://about.gitlab.com/releases/2020/03/22/gitlab-12-9-released/
これまで、UnicornがGitLabのWebサーバーとして利用されてきました。しかし、バージョン12.9からUnicornから、Pumaを利用できるようになりました。
メモリーは40%削減され、UnicornのマルチプロセスからPumaのマルチスレッドで動かすことができます。
1. なぜ、Pumaにするの?
Switching to Puma | GitLab
https://docs.gitlab.com/ee/administration/operations/puma.html
Pumaの方がマルチスレッドで動かす事ができるので、MRI Ruby will release the GVL (Global VM Lock) を避けることができ、多くのリクエストを裁くことができます。
2. 今回の設定の前提
omnibusインストールされているGitLabです。
3. Pumaに設定を変更する
Puma | GitLab
https://docs.gitlab.com/omnibus/settings/puma.html
unicorn['enable'] = false
puma['enable'] = true
4. reconfigureする
reconfigureコマンドを動かします。
sudo gitlab-ctl reconfigure
実行結果の最後の方は以下の通りです。
Warnings:
The version of the running postgresql service is different than what is installed.
Please restart postgresql to start the new version.
sudo gitlab-ctl restart postgresql
gitlab Reconfigured!
と出ていれば大丈夫でしょう。
5. unicornが動いていないのを確認する
# ps axwwu | grep unicorn
root 15293 0.0 0.0 12940 968 pts/0 S+ 19:43 0:00 grep --color=auto unicorn
6. 変更してどうだったか
感覚的にしかわかりませんが、キビキビ動くように思います。