このトピックでは、新規ユーザーがApsaraDB RDS for MySQLインスタンスのパフォーマンスをテストし、テストレポートを送信するためのガイドラインを提供します。 テストレポートを送信すると、インスタンスの更新のために追加の割引を受けることができます。 テストレポートの評価が優れている場合は、Alibaba Cloudからかなりのインセンティブが提供されます。

始める前に

このタスクについて

ApsaraDB RDS for MySQLテスト活動

次のパフォーマンスメトリックがテストされます。

  • 1秒あたりのトランザクション数 (TPS)

    RDSインスタンスによって1秒あたりに実行されるトランザクションの数。 トランザクションは、コミットされた後にのみ実行されます。

    • SysBenchを使用して、18の読み取りおよび書き込みSQLステートメントで構成される読み取り /書き込みトランザクションを実行するためのオンライントランザクション処理 (OLTP) のパフォーマンスをテストします。
    • SysBenchを使用して、14の読み取りSQL文で構成される読み取り専用トランザクションを実行するためのOLTPのパフォーマンスをテストします。10のSQL文は主キーに基づいてデータを照会するために使用され、4のSQL文は指定された範囲に基づいてデータを照会するために使用されます。
    • SysBenchを使用して、2つのUPDATEステートメント、1つのDETELEステートメント、および1つのINSERTステートメントの4つの書き込みSQLステートメントで構成される書き込み専用トランザクションを実行するOLTPのパフォーマンスをテストします。
  • 1 秒あたりのクエリ数 (QPS)

    RDSインスタンスによって1秒あたりに実行されるSQL文の数。 これらのSQL文には、INSERT、SELECT、UPDATE、DETELE、およびCOMMITが含まれます。

SysBenchパラメータ

項目 説明
dbドライバー RDSインスタンスが実行するデータベースエンジン。
mysql-host RDSインスタンスへの接続に使用されるエンドポイント。
mysql-port RDSインスタンスへの接続に使用されるポート。
mysql-user RDSインスタンスの管理に使用されるアカウントのユーザー名。
mysql-password RDSインスタンスの管理に使用されるアカウントのパスワード。
mysql-db RDSインスタンスの名前
table_size テストに使用されるテーブルのサイズ。
テーブル テストに使用されたテーブルの数。
events テストのために送信されたリクエストの数。
time テストにかかった時間。
スレッド テストのために呼び出されたスレッドの数。
パーセンタイル 平均実行期間を取得するためにテストで分析する実行期間の割合。 デフォルト値は95% です。 すべてのシナリオの95% のリクエストを実行するのに必要な平均時間を取得できます。
報告間隔 テストの進行状況レポートを生成する時間間隔。 値0は、テストの進行状況レポートを生成せず、最終的なテストレポートのみを生成することを指定します。
skip-trx トランザクションをスキップするかどうかを指定します。 有効な値:
  • 1: トランザクションをスキップすることを指定します。
  • 0: トランザクションをスキップしないことを指定します。

テストの実行手順

  1. ECSインスタンスにログインし、次のコマンドを実行してSysBenchをインストールします。
    yum install gcc gcc-c ++ autoconf automake make libtool mysql-devel git mysql
    git clone https://github.com/akopytov/sysbench.git
    ## GitHubからSysBenchソフトウェアパッケージをダウンロードします。
    cd sysbench
    ## SysBenchのインストールディレクトリを開きます。
    gitチェックアウト1.0.18
    ## SysBenchに切り替える1.0.18。
    . /autogen.sh
    ## autogen.shスクリプトを実行します。
    . /configure -- prefix=/usr -- mandir=/usr/share/man
    作る
    ## SysBenchをコンパイルします。
    make install
  2. 読み取り /書き込み、読み取り専用、および書き込み専用のトランザクションを実行するためのOLTPのパフォーマンスをテストします。
    • 読み書きトランザクションを実行するためのOLTPのパフォーマンスをテストします。

      次のコマンドを実行してテストを実行します (詳細については、「SysBenchパラメータ」をご参照ください) 。

      ## テストに使用するデータを準備します。
      sysbench-db-driver=mysql-host=XXX-mysql-port=XXX-mysql-user=XXX-mysql-password=XXX-mysql-db=sbtest-table_size=25000-tables=100-events=0-time=300-threads=XXX oltread_write準備
      
      ## ワークロードを実行します。
      sysbench-db-driver=mysql-host=XXX-mysql-port=XXX-mysql-user=XXX-mysql-password=XXX-mysql-db=sbtest-table_size=25000-tables=100-events=0-time=300-threads=XXX-percentile=95-report-interval=1
      
      ## テストに使用するデータを削除します。
      sysbench-db-driver=mysql-host=XXX-mysql-port=XXX-mysql-user=XXX-mysql-password=XXX-mysql-db=sbtest-table_size=25000-tables=100-events=0-time=300-threads=XXX-percentile=95 oltp_read_write cleanup

      サンプルテスト结果:

      • QPS: 23869.32
      • TPS: 1193.47
      • 応答時間 (RT): 36.89 ms
      読み書きトランザクションを実行するためのOLTPのパフォーマンスのテスト
    • 読み取り専用トランザクションを実行するためのOLTPのパフォーマンスをテストします。

      次のコマンドを実行してテストを実行します (詳細については、「SysBenchパラメータ」をご参照ください) 。

      ## テストに使用するデータを準備します。
      sysbench-db-driver=mysql-host=XXX-mysql-port=XXX-mysql-user=XXX-mysql-password=XXX-mysql-db=sbtest-table_size=25000-tables=100-events=0-time=300-threads=XXX oltread_only
      
      ## ワークロードを実行します。
      sysbench-db-driver=mysql-host=XXX-mysql-port=XXX-mysql-user=XXX-mysql-password=XXX-mysql-db=sbtest-table_size=25000-tables=100-events=0-time=300-threads=XXX-percentile=95-skip-trx=1
      
      ## テストに使用するデータを削除します。
      sysbench-db-driver=mysql-host=XXX-mysql-port=XXX-mysql-user=XXX-mysql-password=XXX-mysql-db=sbtest-table_size=25000-tables=100-events=0-time=300-threads=XXX-percentile=95 oltp_read_onlyのクリーンアップ

      サンプルテスト结果:

      • QPS: 26130.73
      • RT: 33.72 ms
      読み取り専用トランザクションを実行するためのOLTPのパフォーマンスのテスト
    • 書き込み専用トランザクションを実行するためのOLTPのパフォーマンスをテストします。

      次のコマンドを実行してテストを実行します (詳細については、「SysBenchパラメータ」をご参照ください) 。

      ## テストに使用するデータを準備します。
      sysbench-db-driver=mysql-host=XXX-mysql-port=XXX-mysql-user=XXX-mysql-password=XXX-mysql-db=sbtest-table_size=25000-tables=100-events=0-time=300-threads=XXX oltp_write_onlyを準備する
      
      ## ワークロードを実行します。
      sysbench-db-driver=mysql-host=XXX-mysql-port=XXX-mysql-user=XXX-mysql-password=XXX-mysql-db=sbtest-table_size=25000-tables=100-events=0-time=300-threads=XXX-percentile=95-report-interval=1 olt_only
      
      ## テストに使用するデータを削除します。
      sysbench-db-driver=mysql-host=XXX-mysql-port=XXX-mysql-user=XXX-mysql-password=XXX-mysql-db=sbtest-table_size=25000-tables=100-events=0-time=300-threads=XXX-percentile=95 oltp_write_onlyクリーンアップ

      サンプルテスト结果:

      • TPS: 4255.01
      • RT: 16.71 ms
      書き込み専用トランザクションを実行するためのOLTPのパフォーマンスのテスト
  3. ApsaraDB RDS for MySQLパフォーマンステストレポートテンプレートをダウンロードし、テンプレートに基づいて独自のテストレポートを準備してから、テストレポートを送信します。