Cette rubrique décrit les différences de performances d'ApsaraDB for OceanBase avec et sans le chiffrement transparent des données (TDE). Elle vous aide à évaluer l'opportunité d'activer le TDE.
Conclusion du test
Les tests de performance des charges de travail OLTP (traitement transactionnel en ligne) avec 128 ou 256 connexions simultanées montrent que l'activation du TDE n'a aucun impact sur les performances des mises à jour. En revanche, les autres opérations subissent une légère perte de performance, comme indiqué ci-dessous :
Sélections ponctuelles : environ 3 %. Lectures seules : environ 1 %.
Lectures-écritures : environ 2 %. Écritures seules : environ 1 %. Insertions : environ 1 %.
Les impacts les plus notables concernent les sélections ponctuelles et les lectures-écritures, bien que tous deux restent inférieurs à 3 %.
Environnement de test
-
Configuration du cluster
Élément
Configuration
Version du cluster
OceanBase V4.2.1.8
Spécifications du cluster
2F1A, primary zone=zone1, 8C16G
Serveur du cluster
Cœurs CPU : 8C
Mémoire : 61 Go
-
Configuration du client
Élément
Configuration
Système d'exploitation
Linux iZbp1eodxjpfw80wly2g4oZ 5.10.134-16.3.al8.x86_64 #1 SMP Tue Mar 26 18:54:05 CST 2024 x86_64 x86_64 x86_64 GNU/Linux
sysbench
sysbench 1.0.20
Cœurs CPU
8C
Mémoire
30 Go
Outil de test
sysbench est un outil de benchmarking open source, multiplateforme et multithread. Sa conception modulaire permet d'évaluer les performances d'un système exécutant une base de données fortement sollicitée.
Métriques de test
Transactions par seconde (TPS) : nombre de transactions validées exécutées par seconde dans la base de données.
Latence moyenne : temps moyen d'exécution d'une transaction dans la base de données, exprimé en millisecondes.
Procédure de test
Le test porte sur 128 tables contenant chacune 1 million d'enregistrements et s'exécute pendant 60 secondes.
Installation de sysbench
Installez sysbench via la commande yum install ou manuellement.
-
Installation via yum install.
Exécutez la commande suivante sur le client pour installer sysbench :
sudo yum install sysbench -
Installation manuelle.
-
Téléchargez sysbench.
Pour télécharger sysbench, rendez-vous sur GitHub.
-
Décompressez le package sysbench.
unzip ./1.0.20.zip -
Compilez sysbench.
Accédez au répertoire de sysbench et exécutez les commandes suivantes pour le compiler :
[w****@localhost ~]# cd sysbench-1.0.20 [w****@localhost sysbench-1.0.20]# ./autogen.sh [w****@localhost sysbench-1.0.20]# ./configure --prefix=/usr/sysbench/ --with-mysql-includes=/usr/include/mysql/ --with-mysql-libs=/usr/lib64/mysql/ --with-mysql [w****@localhost sysbench-1.0.20]# make [w****@localhost sysbench-1.0.20]# make installLe tableau suivant décrit les paramètres.
Paramètre
Description
--prefix
Spécifie le répertoire d'installation de sysbench.
--with-mysql-includes
Spécifie le répertoire contenant les fichiers d'en-tête MySQL.
--with-mysql-libs
Spécifie le répertoire contenant les bibliothèques MySQL.
--with-mysql
Active la prise en charge de MySQL dans sysbench par défaut.
-
Vérifiez l'installation de sysbench en exécutant la commande suivante :
[w****@localhost sysbench-1.0.20] $./src/sysbench --helpSi les informations suivantes s'affichent, sysbench est correctement installé :
Usage: sysbench [options]... [testname] [command] Commands implemented by most tests: prepare run cleanup help
-
Exécution du test
La procédure de test suivante est identique pour tous les autres tests de threads et de scripts.
Dans ce test, le script de lecture-écriture s'exécute sur un locataire MySQL pendant 60 secondes, en utilisant 128 threads et 128 tables contenant chacune 1 million d'enregistrements.
Pour plus d'informations sur la création d'une instance ApsaraDB for OceanBase en mode MySQL, consultez Acheter une instance > Créer un locataire > Créer un compte > Créer une base de données (uniquement en mode MySQL).
-
Connectez-vous au locataire de test. Vous pouvez vous connecter à ApsaraDB for OceanBase et obtenir les informations de chaîne de connexion. Pour plus d'informations, consultez Obtenir les paramètres de connexion.
obclient -h$host -P$port -u$user_name -p****** -
Supprimez les données inutilisées pour libérer de l'espace disque.
obclient> PURGE RECYCLEBIN; -
Définissez le délai d'expiration.
obclient > set global ob_query_timeout=36000000000; Configurez la fonctionnalité TDE. Pour plus d'informations, consultez Activer le TDE.
-
Déconnectez-vous d'ApsaraDB for OceanBase et utilisez sysbench pour charger les données de test.
[w****@localhost src]# ./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=128 --time=60 oltp_read_write prepare -
Exécutez le script de test personnalisé.
[w****@localhost src]# ./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=128 --time=60 oltp_read_write run -
Nettoyez les données.
[w****@localhost src]# ./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=128 --time=60 oltp_read_write cleanup
Résultats du test
|
Scripts de test / Threads |
TDE activé |
128 (tps/rt moy.) |
256 (tps/rt moy.) |
Taux |
|
sélection ponctuelle |
Non |
161720,04/0,79 |
172429,16/1,48 |
\ |
|
sélection ponctuelle |
Oui |
161113,90/0,79 |
167284,47/1,53 |
-2,98 % |
|
lecture seule |
Non |
6571,77/19,47 |
6877,75/37,19 |
\ |
|
lecture seule |
Oui |
6558,48/15,51 |
6813,74/37,54 |
-0,93 % |
|
lecture-écriture |
Non |
3483,70/36,10 |
3575,20/71,50 |
\ |
|
lecture-écriture |
Oui |
3391,10/37,72 |
3572,78/71,55 |
-2,61 % |
|
insertion |
Non |
37806,09/3,38 |
54585,23/4,69 |
\ |
|
insertion |
Oui |
37121,78/3,45 |
54353,98/4,71 |
-0,42 % |
|
mise à jour |
Non |
29743,67/4,30 |
38743,35/6,61 |
\ |
|
mise à jour |
Oui |
29866,70/4,28 |
38905,09/6,58 |
Aucun impact |
|
mise à jour sans index |
Non |
38892,58/3,29 |
55662,11/4,60 |
\ |
|
mise à jour sans index |
Oui |
39250,25/3,26 |
56661,89/4,52 |
Aucun impact |
|
écriture_seule |
Non |
11583,12/11,05 |
12395,72/20,64 |
\ |
|
écriture_seule |
Oui |
11450,32/11,17 |
12259,25/20,87 |
-1,10 % |
Le signe moins (-) dans la colonne Taux du tableau précédent indique une perte de performance. Par exemple, les performances des sélections ponctuelles chutent de 2,98 % après l'activation du TDE.