Ystk(ヨシタカ)が気になった事や日々の記録をメモするためのブログです。

GitLab

GitLabの動作が遅いのでスワップ頻度を変えてみた

投稿日:2017年5月26日 更新日:

今回初めて、さくらVPSの512MBプランを契約し、そのサーバにGitLabを構築して運用を開始しました。

まず、GitLabの推奨動作環境は、CPU数が2コア以上、メモリはスワップ含め4GB以上が必要とのこと。(2017年5月現在)

CPU数とメモリが少ないので動きがもっさりしていたため、少しでも改善しないかと調べてみたところ、メモリスワップ頻度を変えてみるのが良さそうだったので試してみました。

やり方としては、以下の2つを行って応答速度を上げます。

  • GitLab自体のメモリ消費を抑える
  • メモリのスワップ頻度の設定を変更

メモリ消費を抑える

/etc/gitlab/gitlab.rb

unicorn["worker\_processes"] = 1
postgresql["shared\_buffers"] = "128MB"

変更後に設定を反映させます。

sudo gitlab-ctl reconfigure

メモリスワップ頻度の変更

LinuxカーネルのSwappinessのパラメータを変更することで、スワップ処理を行う頻度を変更することができます。
Swappinessは0から100までの値が設定でき、低い値にするほどスワップしなくなり、高い値にするほど積極的にスワップ領域を使用します。

値を100に設定するとシステム全体のパフォーマンスに影響を及ぼすので、設定しないようにしてください。
また、既定値は60になっているので、自分は0~10程度の値を設定するようにしています。

0に近い値にすることで、スワップ頻度が少なくなり、反応までの遅延が減少し応答速度が向上します。

説明
 0  メモリが一杯になるまでスワップ領域を使用しない
60 既定値
100 積極的にスワップ処理を行う

Swappinessの値は/proc/sys/vm/swappinessというファイルにパラメータが入っています。

現在設定されている値の確認

cat /proc/sys/vm/swappiness

一時的にスワップ頻度の変更を行いたい場合(root権限)

echo 10 > /proc/sys/vm/swappiness

恒久的に変更する場合は /etc/sysctl.confファイルに記述します。値がない場合は追記します。
値を設定したら、再起動します。

vm.swappiness = 10

再起動できない場合は、sysctlコマンドで設定を再読込してください。

sysctl -p

変更後どうだったか

若干動きが良くなったように感じましたが、自分が求めるほどの結果ではなかったため、プランを2GBに変更しました。
おすすめのプランだけあって、見違えるように速くなったので、試用期間を利用して最初から2GBのプランでやれば良かったな。

もしプランを上げられない方で、上記の方法を試していないのならお試しください。
また、もっとパフォーマンスの上がる方法とかあれば教えてください。

参考

-GitLab
-, , ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

GitLab 9.5で新ナビゲーションが使いやすくなった!

仕事で使用しているGitLabのバージョンをv9.5.0にアップデートしました! 前バージョンの9.4で導入された新ナビゲーションですが、スマートフォンでの閲覧には向いておらず、新ナビゲーションではI …

本番のデータベースが消え、GitLab.comのサービス停止

1月31日(水)にソースコード管理サービスを提供するGitLab.comが、管理者の操作ミスによって本番データベースのデータを誤って削除してしまい、サービス停止状態になりました。 関連記事を表示Git …

no image

GitLab 10.3で追加される機能が楽しみ!

今月(2017年11月)のGitLab 10.2では、CE(Community Edition)向けの追加機能等が少なく個人的に残念でした。 たまにIssuesを確認したり、GitLab Direct …

no image

GitLabでファイルを編集すると502が表示される

GitLabをアップデートしてから、GitLab上で直接ファイルを編集してみたら502が表示されて編集ができなくなった!本当に困りました。 正直言って、1週間前くらいから気付いていたけどGitLabの …

no image

GitLab 10.0がリリース!MVPに日本人の方が選ばれました!

2017年9月22日に GitLab 10.0 がリリースされました! 今月のMVPは日本人! 今回、MVPに選ばれたのは Hiroyuki Sato さんという日本人の方で、GitLab 5.1の頃 …