Bitbucket Data Center のパフォーマンス テストの例

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

このページでは、Bitbucket Data Center リソース 製品でアトラシアンが実施するテストと、これらのテストから得られる結果について説明します。この報告は、お客様の組織で Bitbucket Data Centerをデプロイすることで期待される結果を理解できるよう支援することを目的としています。

当社はすべての開発チームが固有の作業の方法を持っていることを認識しています。それでも、既存の Bitbucket Data Center ユーザーと当社独自のソフトウェア開発プロセスの情報に基づいて、テスト目的で、我々が一般的と考える使用率プロファイルを決定しました。このプロファイルは以下で説明しており、テスト結果の関連性を理解するための重要な部分です。

このページでは、当社が使用するハードウェアの概要を説明し、使用するテスト方法について説明して測定値が正確で一貫性があることを保証します。

このページの内容

テスト結果の要約

より良いユーザー管理 - クラスタにノードが追加されると、Bitbucket Data Center はより多くのユーザーに同時にサービスを提供することができます。

より良い Git パフォーマンス - 各ノードがクラスタに追加されると、Git ホスティング操作スケールは特に良くなります。

負荷が増加している場合にリクエスト応答が減少しない - Bitbucket Data Center は単一の Bitbucket Server インスタンスよりも迅速に(応答時間)顧客のリクエストに対してサービスを提供しませんが、負荷が増加した場合も応答性を維持します。 

全体的なパフォーマンスの向上 - Bitbucket Data Center の全体的なパフォーマンスへの最大の寄与は計算能力、IO 帯域幅、利用可能なネットワーク接続です。

 

複数ノードへの Bitbucket Data Center のデプロイメントによって、リクエスト数が増加するにつれてより多くのリクエストに対してサービスを提供できます。


試験方法と仕様

以下のセクションでは、当社のパフォーマンス テストで使用するテスト環境とテスト方法を説明します。

テスト方法

計測値が正確で再現可能であることを保証するため、すべてのテストはベア メタルで行われます。当社のテスト ラボは外部の干渉から完全に分離されており、各テストが実行される前にラボのサービスは専用のテスト フレームワークを使用してサニタイジングおよび再初期化されます。

マルチノード クラスタを行使するのに十分な負荷を生成するため、それぞれ24 CPUと48 GB RAM を搭載した多数の負荷生成サーバーを使用します。さらに、これらの負荷サーバーは SSD ハード ドライブを搭載し、IO 制限を除去しています。テストの実行中、すべてのシステム テレメトリは収集され、中央サーバーに送信されます。中央サーバーではテレメトリが照合され、負荷の生成の実行にアタッチされます。システム テレメトリは R スクリプトと Python スクリプトを使用して解析されます。この情報から、システムの各部が特定の時点で何をしているのかを完全に把握することができます。Java 仮想マシン、Tomcat および Bitbucket 統計は JMX を使用して収集されます。

当社の Bitbucket Data Center デプロイメントは以下のコンポーネントで構築されています。

  • Bitbucket Data Center クラスタ ノード: 必要に応じて追加および削除できる異種サーバーの集合です。
  • Bitbucket がサポートしている RDBMS: Postgres SQL Server を使用しています。
  • NFS をサポートする大容量ストレージ システム: Linux ベースの NFSv3 サーバーを使用しています。
  • 受信リクエストを処理ノード全体に分散させるロード バランサ: HAProxy を使用していますが、Apache mod_proxyでもテストしています。

テスト内容

当社では日常的に使用し、システムの全体的なスループットに大きな影響を与える以下の機能領域を集中的にテストしています。

  • Git 操作(clone、push、pull、fetch)
  • 認証

テスト スクリプトは以下の基準を調整して、目的の使用率プロファイルをエミュレートするように調整されています。

  • 作成されたユーザー数および割り当てられたロール数(管理者、レビュアー、投稿者)
  • 作成されたリポジトリ数およびプロジェクト数
  • 各リポジトリに割り当てられたユーザー数
  • 作成するプル リクエスト数
  • 編集、削除、または名前を変更されるファイル数
  • レビュアー数
  • 投稿者数

テストが実行される前に、クラスタにはさまざまなサイズの Git リポジトリがいくつか配備されています。

ハードウェア

すべてのパフォーマンス テストは、以下に示されるハードウェアを使用した Atlassian の同じ制御され隔離されたラボで実行されます。

ハードウェア 説明 数はいくつですか?

Rackform

iServ

R304.v3

CPU: 2 x Intel Xeon E5-2430L, 2.0GHz (6 コア, HT, 15MB キャッシュ, 60W) 32nm
RAM: 最大1600 MT/s で動作する 48GB (6 x 8GB DDR3-1600 ECC Registered 2R DIMMs)
NIC: Dual Intel 82574L Gigabit Ethernet Controllers - Integrated
コントローラ: Intel C606 Chipset の 8 ポート 3GB/s SAS, 2 ポート 6GB/s SATA, および 4 ポート 3GB/s SATA
PCIe 3.0 x16: Intel X540-T2 10GBE Dual-Port Server Adapter (X540) 10GBASE-T Cat 6A - RJ45
固定ドライブ: 240GB Intel 520 Series MLC (6Gb/s) 2.5" SATA SSD
電源: PFC 付き600W 電源 - 80 PLUS Gold 認定

20

Arista

DCS-7050

4PORT SFP+ REAR-TO-FRONT AIR 2XAC

1

HP

ProCurve

スイッチ

1810-48G 48 ポート 10/100/1000 ポート Web マネージ スイッチ

1

使用率プロファイル

当社が使用する一般的な使用率プロファイルは以下の円グラフで示す操作割合で構成されています。一般的な web 操作(ログイン、ランディング ページ、プロジェクトとリポジトリの表示、およびソースの参照)、プル リクエスト(コード レビューおよび共同作業)、およびホスティング操作に均等に配置されています。当社では、これらの比率がソフトウエア開発チームの代表的なコア ワークフローであると考えます。

使用率プロファイルはソフトウェア開発チームの一般的なワークフローの代表です。

結論

Bitbucket Data Center はエキサイティングな新しいプラットフォームであり、Git ホスティングについて並列性と可用性の水準を向上させます。当社でも Bitbucket Data Center を導入することで大きな利点が得られました。Bitbucket はピーク使用時でも応答性を維持し、積極的な CI サーバー負荷は Bitbucket ユーザー インターフェースの応答性に影響を与えません。

最終更新日 2018 年 3 月 1 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.