すべてのプロダクト
Search
ドキュメントセンター

Lindorm:ベンチマークツールキット - シェル

最終更新日:Nov 09, 2025

AHBench は、Alibaba Cloud Lindorm チームによって開発されたベンチマークツールキットです。AHBench を使用すると、数回クリックするだけで Lindorm クラスターまたは HBase クラスターのベンチマークを実行できます。

はじめに

AHBench ツールキットには、Yahoo! Cloud Serving Benchmark (YCSB) ソフトウェアが含まれています。YCSB は、テストセット、テストプロセスコントロール、結果の集約などの特徴を提供します。AHBench の構成はシンプルで、数回クリックするだけでベンチマークテストを実行できます。

準備

  • ECS インスタンスにストレステストクライアントをデプロイします。ネットワーク接続を確保するには、Lindorm インスタンスと ECS インスタンスが次の要件を満たしていることを確認してください。ECS インスタンスの情報を表示する方法の詳細については、「インスタンス情報を表示する」をご参照ください。

    • Lindorm インスタンスと ECS インスタンスは同じリージョンにデプロイされます。ネットワーク遅延を減らすために、2 つのインスタンスを同じゾーンにデプロイすることをお勧めします。

    • Lindorm インスタンスと ECS インスタンスのネットワークタイプは同じです。

      説明
      • セキュリティを向上させるために、2 つのインスタンスを VPC にデプロイすることをお勧めします。

      • インスタンスのネットワークタイプを [VPC] に設定する場合は、インスタンスに同じ VPC ID を指定していることを確認してください。

  • ストレステストクライアントの IP アドレスを Lindorm インスタンスのホワイトリストに追加します。

  • AHBench ツールキットをダウンロードし、パッケージをストレステストクライアントにアップロードしてから、パッケージを抽出します。

使用上の注意

  • ベンチマーク対象のシステムは、ストレステスト中に過負荷になり、応答を停止する可能性があります。本番環境では AHBench を使用しないでください。

  • AHBench は、テストに ahbenchtest-read テーブルと ahbenchtest-write テーブルを使用します。これらのテーブルは、テスト中に削除されて再作成される可能性があります。テーブルを削除しても問題が発生しないことを確認してください。

  • テストするクラスターに十分なストレージ容量があることを確認してください。

  • Lindorm クラスターは、仮想ランタイム環境を提供する ECS インスタンス上で実行されます。同じ仕様のクラスターのパフォーマンスは、5% から 10% の範囲で変動する可能性があります。

ランタイム環境

ストレステストクライアントのランタイム環境は、次の要件を満たしている必要があります。

  • クライアントは Linux を実行します。

  • JDK 1.8 以降

  • Python 2.7

  • クライアントには、少なくとも 16 個の専用 CPU コアが必要です。

クラスターエンドポイントの構成

AHBench/conf/hbase-site.xml ファイルで、ベンチマーク対象の Lindorm クラスターまたは HBase クラスターのエンドポイントを指定します。

Lindorm へのアクセス方法の詳細については、「HBase Java API を使用したアプリケーション開発」をご参照ください。次の設定を hbase-site.xml ファイルに追加します。

<property>
  <name>hbase.client.connection.impl</name>
  <value>org.apache.hadoop.hbase.client.AliHBaseUEClusterConnection</value>
</property>

環境変数の設定

AHBench/conf/ahbench-env.properties ファイルで AHBench の環境変数を構成します。

  1. 次のコマンドを実行して ahbench-env.properties ファイルを開きます。

    vi AHBench/conf/ahbench-env.properties
  2. Java 開発キット (JDK) がインストールされているパスを指定します。例: JAVA_HOME=/usr/java/jdk1.8.0/。JDK がすでにシステムパスにインストールされている場合は、このステップをスキップしてください。

  3. テストする HBase クラスターのバージョンを構成します。クラスターのバージョンが 1.x の場合は、パラメーターを 1 に設定します。クラスターのバージョンが 2.x の場合は、パラメーターを 2 に設定します。

    HBASE_VERSION=2

ストレステストに関連するパラメーターの設定(オプション)

AHBench/conf/ahbench-settings.properties ファイルを開き、圧縮アルゴリズム、エンコーディングアルゴリズム、スレッド数、データサイズ、フィールドサイズを定義するパラメーターを構成します。デフォルト値を使用するか、必要に応じて値を変更できます。

説明

特定の Lindorm バージョンでのみサポートされるパラメーターがあります。たとえば、Zstandard 圧縮と INDEX エンコーディングは Alibaba Cloud Lindorm でのみサポートされます。Zstandard と INDEX を構成して、パフォーマンスを向上させることができます。

# テストテーブルの圧縮アルゴリズムを指定します。
# 有効値: NONE、LZO、ZSTD、SNAPPY、GZ、LZ4、ZSTD など。
# 一部の圧縮アルゴリズムは、特定のテストシステムではサポートされていません。
# Alibaba Cloud Lindorm には ZSTD を選択することをお勧めします。
ahbench.table.compression=SNAPPY

# テストテーブルのエンコーディングアルゴリズムを指定します。有効値:
# NONE DIFF INDEX
# 一部のエンコーディングアルゴリズムは、特定のテストシステムではサポートされていません。
# Alibaba Cloud Lindorm には INDEX エンコーディングアルゴリズムを選択することをお勧めします。
ahbench.table.encoding=DIFF
            

ストレステストの実行

  • クイックテスト

    テストデータセットには 1,000 万個のエントリが含まれており、少なくとも 20 GB のストレージを占有します。 テスト時間は約 40 分で、テストシステムによって異なります。

    cd AHBench
    ./fast_test                 
  • 完全テスト

    テストデータセットには 20 億個のエントリが含まれており、少なくとも 2 TB のストレージを占有します。 テスト時間は約 25 時間で、テストシステムによって異なります。

    cd AHBench
    ./full_test
                        

    テストを繰り返す場合は、データインポートステップをスキップして (前のテストが正常に完了した場合)、テスト期間を短縮できます。データインポートステップをスキップした場合、テスト期間は約 3.5 時間で、テストシステムによって異なります。

    cd AHBench
    ./full_test --skipload
                        

テスト結果の分析

テストが完了すると、現在のディレクトリにカンマ区切り値 (CSV) ファイルが生成されます。テスト結果を Excel、Numbers、またはその他のデータ分析ソフトウェアにコピーして、テスト結果を比較または分析できます。

  1. CSV ファイルの名前を表示します。

    ls -ltr
  2. 指定した CSV ファイルの内容を表示します。

    cat full_throughput.csv

次の図は、CSV ファイルの内容を示しています。

csvwenjian

FAQ

AHBench がエラーでシャットダウンした場合は、次の項目を確認してください。

  • JAVA_HOME が有効な値に設定されているか、Python ランタイム環境がインストールされているかを確認します。

  • テスト対象クラスターのエンドポイントが有効かどうかを確認します。

  • テスト対象クラスターの HBase バージョンが有効かどうかを確認します。

  • テスト対象クラスターが指定された圧縮アルゴリズムをサポートしているかどうかを確認します。

  • テスト対象クラスターが期待どおりに実行されているかどうかを確認します。