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

ApsaraDB RDS:Transparent Data Encryption (TDE) のパフォーマンス

最終更新日:Jun 23, 2026

このトピックでは、ApsaraDB RDS for MySQL インスタンスで Transparent Data Encryption (TDE) を有効にすることが、CPU とメモリの使用量を含むパフォーマンスにどのように影響するかを分析します。このレポートを参考に、TDE がご利用のワークロードに適しているかどうかを評価してください。

結果のまとめ

TDE を有効にすると、ApsaraDB RDS for MySQL インスタンスで測定可能なパフォーマンスオーバーヘッドが発生し、CPU 使用率が増加します。

  • 低い同時実行数では、パフォーマンスオーバーヘッドはより大きくなり、最大で 20% に達します。高い同時実行性では、I/O 統合などの要因により、オーバーヘッドは 5% 未満に減少します。

  • 4 コア、16 GB のインスタンスでは、TDE を有効にすると、暗号化されたテーブルにアクセスする際の CPU 使用率が 0.06% から 4.22% 増加します。8 コア、32 GB のインスタンスでは、増加率は 0.12% から 2.86% です。

  • 全体として、パフォーマンスへの影響は、oltp_write_onlyoltp_update_index テストシナリオなどの書き込み集中型のワークロードで最も顕著です。

テスト環境

パラメーター

テストシナリオ 1

テストシナリオ 2

リージョンとゾーン

中国 (杭州)

ネットワークタイプ

Virtual Private Cloud (VPC)

ハードウェアアーキテクチャ

x86-64

ストレージタイプ

ローカル SSD

CPU

4 コア

8 コア

メモリ

16 GB

32 GB

バッファープールサイズ

12 GB

24 GB

最大 IOPS

7000

12000

データベースエンジンバージョン

mysql80_8.0.28_20230610

テストデータセットサイズ

41 GB

ベンチマークツール

sysbench は、高いデータベース負荷の下でシステムパフォーマンスを評価するための、オープンソース、モジュール式、クロスプラットフォーム、マルチスレッド対応のベンチマークツールです。詳細については、sysbench ドキュメントをご参照ください。

主要メトリック

  • 1 秒あたりのトランザクション数 (TPS):データベースが 1 秒あたりにコミットするトランザクションの数。

  • 平均レイテンシー:単一のトランザクションを実行するための平均時間。ミリ秒 (ms) 単位で測定されます。

テストテーブルスキーマ

sysbench で使用されるデフォルトのテーブルスキーマは次のとおりです。

CREATE TABLE `sbtest8` (
  `id` int NOT NULL AUTO_INCREMENT,
  `k` int NOT NULL DEFAULT '0',
  `c` char(120) NOT NULL DEFAULT '',
  `pad` char(60) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `k_8` (`k`)
) ENGINE=InnoDB AUTO_INCREMENT=100001 DEFAULT CHARSET=utf8mb3

操作手順

  1. ApsaraDB RDS for MySQL インスタンスを作成します。詳細については、「ApsaraDB RDS for MySQL インスタンスの作成」をご参照ください。

  2. データベースとアカウントを作成します。詳細については、「データベースとアカウントの作成」をご参照ください。

  3. ご利用の Linux ベースの ECS インスタンスに MySQL クライアントをインストールします。

    • CentOS の場合、sudo yum install mysql を実行します。

    • Ubuntu の場合、sudo apt-get update を実行してから sudo apt install mysql-server を実行します。

  4. コマンドラインからご利用の ApsaraDB RDS for MySQL インスタンスに接続します。

    mysql -h<endpoint> -u<username> -P<port> -p<password>
    説明

    インスタンスのエンドポイントとポートを確認する方法については、「インスタンスのエンドポイントとポートの表示と管理」をご参照ください。

  5. データベースを終了し、sysbench を使用してテストデータを準備し、ロードします。

    説明
    • このテストでは、sysbench は 128 個のテーブルをロードし、各テーブルには 100,000 行のデータが含まれます。次のスクリプトでは、oltp_read_write テストモデルを使用します。

    • サンプルコードでは、スレッド数を 16 に設定しています。必要に応じて、`--threads` パラメーターを 1、8、16、32、64、128、256 などの値に調整してください。

    sysbench --db-driver=mysql --mysql-host=[database server host] --mysql-port=[database server port] --mysql-user=[database user name] --mysql-password=[database user password] --mysql-db=testdb --table_size=1000000 --tables=128 --threads=16 --time=60 oltp_read_write prepare
  6. ベンチマークテストを実行します。

    sysbench --db-driver=mysql --mysql-host=[database server host] --mysql-port=[database server port] --mysql-user=[database user name] --mysql-password=[database user password] --mysql-db=testdb --table_size=1000000 --tables=128 --threads=16 --time=60 oltp_read_write run
  7. テストデータをクリーンアップします。

    sysbench --db-driver=mysql --mysql-host=[database server host] --mysql-port=[database server port] --mysql-user=[database user name] --mysql-password=[database user password] --mysql-db=testdb --table_size=1000000 --tables=128 --threads=16 --time=60  oltp_read_write cleanup

テストシナリオ 1:4 コア、16 GB のインスタンス

テストデータ

ワークロードモデル別のパフォーマンス

image.png

image.png

CPU 使用率

image.png

パフォーマンスデータの概要

image.png

image.png

image.png

説明

rds_ssd_4c16g_tde_off[3]:TDE が無効になっている 4 コア、16 GB の ApsaraDB RDS for MySQL インスタンス。

rds_ssd_4c16g_tde_on[2]:TDE が有効になっている 4 コア、16 GB の ApsaraDB RDS for MySQL インスタンス。

テストシナリオ 2:8 コア、32 GB のインスタンス

テストデータ

ワークロードモデル別のパフォーマンス

image.png

image.png

image.png

パフォーマンスデータの概要

image.png

image.png

image.png

説明

rds_ssd_8c32g_tde_off[11]:TDE が無効になっている 8 コア、32 GB の ApsaraDB RDS for MySQL インスタンス。

rds_ssd_8c32g_tde_on[12]:TDE が有効になっている 8 コア、32 GB の ApsaraDB RDS for MySQL インスタンス。