gitlab on docker Core1 メモリ1Gb お試し


概要

最近、とあるVPSをレンタルしました。
ソースコードの管理の雄gitlabをどの程度快適?に利用できるかを試してみました。
(あくまで参考程度に閲覧ください。)

VPSのスペック

概要 スペック
CPU 仮想Core1
メモリ 1GB + Swap3GB
ストレージ SSD 20GB
ネットワーク 100MB/s

まぁ、お値段相応に手ごろな感じです。
(Swap7GBにしたらもう少し早いかもしれませんが、SSDが枯渇するため、3GBにしています。)

gitlabの必要スペック

そして、gitlabの必要スペック。(最小のもののみ抜粋)
gitlabのサイトはこちら
CPU
1 core supports up to 100 users but the application can be a bit slower due to having all workers and background jobs running on the same core
概訳:1コアの場合、100ユーザまではサポートする。ただし、すべてのバックグラウンド処理を1つのコアに任せようとすると少し遅くなるよ。

Memory
4GB RAM + 4GB swap supports up to 100 users but it will be very slow
概訳:4GRAMと4GBのスワップで100ユーザまでサポートする。ただし、この構成だとかなり遅くなるよ。

要するに物凄く遅くなるが大丈夫か?

そんなスペックで大丈夫か?

とgitlab様は仰せな訳です。
この点については少し忘れて次のステップに進みましょう。

Let's Install

まず、dockerのインストール。
apt install docker.io

続いてgitlabのimageをpull。
docker pull gitlab/gitlab-ce
そして、gitlabのコンテナを作成します。

sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 443:443 --publish 80:80 --publish 22:22 \
  --name gitlab \
  --restart always \
  --volume /srv/gitlab/config:/etc/gitlab \
  --volume /srv/gitlab/logs:/var/log/gitlab \
  --volume /srv/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

出来上がりです・・・。
もっさりしています。

計測

興味本位で時間を計ってみました。
(ストップウォッチで計ったので概算です。)

測定基準

1:コンテナ起動からWhoops!画面表示まで
2:Whoops!画面からログイン画面表示まで
3:基本的な画面遷移(雰囲気)

番号 計測対象 時間
1 Whoops画面 20秒
2 Whoops⇒ログイン画面 160秒
3 画面遷移 2秒

補足:Ooops!画面とは?
スペックが低い時や何かしらの問題が発生している場合に出力される画面。

下記のような画面が表示されます。