このトピックでは、新規ユーザーがApsaraDB RDS for MySQLインスタンスのパフォーマンスをテストし、テストレポートを送信するためのガイドラインを提供します。 テストレポートを送信すると、インスタンスの更新のために追加の割引を受けることができます。 テストレポートの評価が優れている場合は、Alibaba Cloudからかなりのインセンティブが提供されます。
始める前に
- ApsaraDB RDS for MySQLインスタンスがApsaraDB for RDSコンソールで作成されています。 詳細については、「「ApsaraDB RDS for MySQL インスタンスの作成」」をご参照ください。
- ECS インスタンスを作成済み。 詳細については、「ウィザードを使用したインスタンスの作成」をご参照ください。
このタスクについて
次のパフォーマンスメトリックがテストされます。
- 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 | トランザクションをスキップするかどうかを指定します。 有効な値:
|
テストの実行手順
- 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
- 読み取り /書き込み、読み取り専用、および書き込み専用のトランザクションを実行するための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のパフォーマンスをテストします。
次のコマンドを実行してテストを実行します (詳細については、「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のパフォーマンスをテストします。
次のコマンドを実行してテストを実行します (詳細については、「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のパフォーマンスをテストします。
- ApsaraDB RDS for MySQLパフォーマンステストレポートテンプレートをダウンロードし、テンプレートに基づいて独自のテストレポートを準備してから、テストレポートを送信します。