White Box技術部

WEB開発のあれこれ(と何か)

Let's GitBucket! / part 1.1

part 1の続きです。

GitBucketの管理

GitBucketを利用する場合、利用するリポジトリは当然Gitになりますが、そこはとりあえず置いておいて、GitBucketを管理する人の作業について考えてみます。

1.GitBucketサーバの運用

かなり自分の属する組織的な問題ですが、このサーバスペックが一番導入障害になりそうです。

GitBucketの負荷はどのくらい?

導入前の今では、プロジェクトメンバーが一斉にアクセスした際にどのくらいの負荷がかかるのか見積もりにくいのですが、ローカルでの動作状況と他システムの運用状況からある程度あたりをつけてみたいと思います。

うわっ…私のGitBucket、遅すぎ…?

社内システムとしてGitBucketを運用すると想定していますので、同じ社内システムから必要スペックを推測してみます。

  • 比較対象WEBシステム

    • 対象は社内で運用しているSeasar2のバグ管理システム
    • ローカルで動作させる分には5年前の32bit XPマシン(Core Duo 2.33GHz。メモリ2G)で軽々動作する
    • 40人ぐらいがアクセスするサーバに乗せた場合、メモリを768mぐらいをTomcatに割り当てないとOutOfMemoryErrorになる
    • GitBucketと比べるとかなりコンパクト(全体で3画面ほどしかない)
  • GitBucket

    • 比較システムをローカル動作させたのと同じPCで動作させると、使用メモリは100~150mほどだったが、ストレスが溜まる遅さで、なんとか使えるという感じ
    • Windows 8.1(64bit)、Core i7の3.4GHz、メモリ32Gの環境で動作させた場合、快適に動作したが使用メモリは1.165Gに跳ね上がっている

ことから考えると、GitBucketを載せるTomcatには最低2Gは割り当てておきたいところです。

サーバ構成の考察

以上を参考に

  • Apache + Tomcat構成
  • Tomcatのメモリ割り当ては、初期値1024m、最大値4096m

で運用を開始して、状況を見ながら調整していくのがいいかと思います。

で、何が問題なのかというと、現在の職場では64bitの端末が簡単には導入できないのです。。 しかもサーバマシンが置けないため、普通のPCをサーバに利用しているのですが、PCは32bit Windowsという縛りがあるため、メモリがOS全体で3Gです。 どうです?2014年ですよ?iPhoneですら64bitだというのにw だったらGitHub使えばいい?ネットに繋がっていればそういう相談もできたかもしれませんね。

TODO:資料にするときはTomcatのメモリ設定方法、Apache + Tomcatの構築方法も書いておく。

2.GITBUCKET_HOME配下のバックアップ

GitBucketの設定、ユーザ情報、リポジトリ情報、これら全てが保管されているGITBUCKET_HOME配下はバックアップを取るようにしておくべきでしょう。 頻度は1日おき、夜間実施でいいかと思いますが、そこはサーバ端末の性能とプロジェクト要求に応じて判断してください。


part 1、まだまだ続きます。
次回は2/23(日)更新予定です。