• テーブル構造

    プライマリキー名 データ型 エンコード方法 長さ
    userid String 4-Byte-Hash + Long.toHexString 20
  • 属性列

    属性列名 データ型 長さ
    field0 String 100
    field1 String 100
    field2 String 100
    field3 String 100
    field4 String 100
  • パーティション数量

    Table Store の自動ロードバランシング機能は、各パーティションのデータボリュームとアクセス要求に基づいてテーブルパーティションを動的に分割します。 このプロセスは人間の介入を必要としません。 このテストでは、通常 1、4、16 のパーティションを持つテーブルのパフォーマンスデータを選択します。

    デフォルトでは、新しいデータテーブルには単一のデータパーティションがあります。 新しいテーブルを手動で分割するには、 チケットを起票し、サポートセンターへお問い合わせください

  • テストケース
    各ランナーで N スレッドを開始し、 com.alicloud.openservices.tablestore.SyncClient をスレッドごとに作成し、Table Store API を呼び出します。
    • テストケースは次のとおりです。

      • ランダム書き込み: テストは SyncClient.putRow を呼び出します。 各要求は 1 行のデータを含み、1 時間持続します。
      • バッチ書き込み: テストは SyncClient.batchWriteRow を呼び出します。 各要求には 200 行のデータが含まれ、1 時間持続します。
      • ランダム読み取り: テストは BatchWriteRow を呼び出します。各パーティションに 20 GB のデータを書き込み、次に SyncClient.getRow を呼び出します。 各要求は 1 行のデータを受け取り、30 分間持続します。
      • ランダムな取得範囲: テストは BatchWriteRow を呼び出します。各パーティションに 20 GB のデータを書き込み、その後 SyncClient.getRange を呼び出します。 各要求は 100 行のデータを受け取り、30 分間持続します。

      すべてのテストケースは、Table Store インスタンスのプライベートネットワークアドレスに直接要求を送信するので、ネットワーク環境によって引き起こされる影響は回避されます。

      このパフォーマンステストは、サービスパフォーマンスの限界テストではありません。 このテストは、Table Store サーバーの調整処理はトリガーされません。 Table Store の自動ロードバランシング機能は、単一のテーブルで提供されるサービス機能の水平方向の拡大を保証します。 大規模なパフォーマンステストはバックエンドの調整を引き起こし、高額になる可能性があります。 大規模なパフォーマンステストを実行する場合は、妥当な費用で試験結果を得るために 。 チケットを起票し、サポートセンターへお問い合わせください

      Table Store の BatchWriteRow オペレーションは、パーティションによって同時に処理されます。 各パーティションに書き込まれるデータは、単一のディスク書き込み操作です。 各 BatchWriteRow の書き込みディスク操作を減らし、書き込みパフォーマンスを効果的に向上させるために、データパーティションキーによって BatchWriteRow 要求を集約することを推奨します。

      ランダム読み取りおよびランダム取得範囲のテストケースでは、データは書き込まれません。 テストが進むにつれて、キャッシュヒット率は増加します。 負荷の低いシナリオでは、キャッシュヒット率はゆっくりと増加するため、テストはディスク I/O 機能と密接に関係しています。 負荷が高いシナリオでは、キャッシュヒット率が急激に増加するため、テストはディスク I/O 機能との関連性が低くなります。

      BatchWriteRow および GetRange テストケースは、大量のネットワーク帯域幅を占有します。 Table Store インスタンスの読み取りまたは書き込みのパフォーマンスが予想よりも低い場合は、ネットワーク帯域幅が完全に占有されているかどうかを確認してください。

      Table Store の読み取りパフォーマンスは、データ量とキャッシュヒット率の影響を大きく受けます。 シナリオによっては、GetRow および GetRange テストケースの制限を超える場合があります。 これら 2 つのテストケースによって生成されたパフォーマンスデータを複製できます。 つまり、このレポートのデータを同様のシナリオの参照として使用できます。 実際の読み取りスループット、書き込みスループット、またはレイテンシがこのレポートのデータと大きく異なる場合は、原因を分析するためにチケットを起票し、サポートセンターへお問い合わせください。