Topik ini menjelaskan dampak kinerja Enkripsi Data Transparan (TDE) pada instans RDS for MySQL dengan spesifikasi berbeda, mencakup efek terhadap CPU dan memori untuk membantu Anda memutuskan apakah akan mengaktifkan TDE.
Kesimpulan pengujian
Mengaktifkan TDE mengurangi kinerja dan meningkatkan pemanfaatan CPU pada instans RDS for MySQL.
Pada konkurensi rendah, penurunan kinerja signifikan, mencapai 20%. Pada konkurensi tinggi, penurunan kinerja turun di bawah 5% karena faktor seperti penggabungan I/O.
Pada instans dengan 4 core dan memori 16 GB, mengaktifkan TDE dan mengakses tabel terenkripsi meningkatkan pemanfaatan CPU sebesar 0,06% hingga 4,22%. Pada instans dengan 8 core dan memori 32 GB, pemanfaatan CPU meningkat sebesar 0,12% hingga 2,86%.
Secara keseluruhan, penurunan kinerja lebih signifikan dalam skenario yang intensif menulis, seperti oltp_write_only dan oltp_update_index.
Lingkungan pengujian
Item konfigurasi | Skenario pengujian 1 | Skenario pengujian 2 |
Wilayah dan zona | cn-hangzhou | |
Tipe jaringan | Virtual Private Cloud | |
Arsitektur perangkat keras | x86-64 | |
Tipe penyimpanan | Premium Local SSDs | |
CPU | 4 core | 8 core |
Memori | 16 GB | 32 GB |
Ukuran Buffer Pool | 12 GB | 24 GB |
IOPS maksimum | 7000 | 12000 |
Versi instans | mysql80_8.0.28_20230610 | |
Ukuran set data pengujian | 41 GB | |
Alat pengujian
Sysbench adalah alat benchmark open source, modular, lintas platform, dan multi-threaded yang digunakan untuk mengevaluasi kinerja sistem database di bawah beban berat. Untuk informasi selengkapnya, lihat dokumentasi Sysbench.
Metrik pengujian
Transactions Per Second (TPS): Jumlah transaksi yang dikomit database per detik.
Latensi rata-rata: Waktu rata-rata yang dibutuhkan database untuk mengeksekusi satu transaksi, diukur dalam milidetik (ms).
Skema tabel pengujian
Skema tabel default untuk Sysbench adalah sebagai berikut:
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=utf8mb3Prosedur pengujian
Pengujian ini mengukur kinerja akses ke tabel terenkripsi pada instans MySQL yang telah diaktifkan TDE dalam berbagai skenario.
Buat instans RDS for MySQL. Untuk informasi selengkapnya, lihat Buat instans RDS for MySQL.
Buat database dan akun. Untuk informasi selengkapnya, lihat Buat database dan akun.
Pada instans ECS yang menjalankan Linux, jalankan perintah berikut untuk menginstal client MySQL.
Untuk CentOS, jalankan
sudo yum install mysql.Untuk Ubuntu, jalankan
sudo apt-get update, lalu jalankansudo apt install mysql-server.
Buka antarmuka baris perintah MySQL dan jalankan perintah berikut untuk menghubung ke database RDS for MySQL.
mysql -h<database_endpoint> -u<username> -P<port_number> -p<password>CatatanUntuk mendapatkan titik akhir database dan nomor port, lihat Lihat dan kelola titik akhir serta port instans.
Keluar dari database dan gunakan alat Sysbench untuk memuat data pengujian.
CatatanDalam pengujian ini, Sysbench digunakan untuk memuat 128 tabel, masing-masing berisi 100.000 record. Contoh skrip berikut menggunakan model oltp_read_write.
Dalam contoh kode, jumlah thread adalah 16. Ganti nilai ini dengan jumlah thread aktual, seperti 1, 8, 16, 32, 64, 128, atau 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 prepareJalankan skrip pengujian kustom.
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 runBersihkan data.
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
Skenario pengujian 1: Perbandingan instans 4-core 16 GB dengan Premium Local SSDs sebelum dan sesudah TDE diaktifkan
Data pengujian
Grafik tren kinerja instans untuk setiap model


CPU

Rangkuman data kinerja



rds_ssd_4c16g_tde_off[3]: Instans RDS for MySQL 4-core 16 GB dengan TDE dinonaktifkan.
rds_ssd_4c16g_tde_on[2]: Instans RDS for MySQL 4-core 16 GB dengan TDE diaktifkan.
Skenario pengujian 2: Perbandingan instans 8-core 32 GB dengan Premium Local SSDs sebelum dan sesudah TDE diaktifkan
Data pengujian
Grafik tren kinerja instans untuk setiap model



Rangkuman data kinerja



rds_ssd_8c32g_tde_off[11]: Instans RDS for MySQL 8-core 32 GB dengan TDE dinonaktifkan.
rds_ssd_8c32g_tde_on[12]: Instans RDS for MySQL 8-core 32 GB dengan TDE diaktifkan.