PolarDB for MySQL prend en charge les modèles de paramètres haute performance. Cette rubrique décrit les paramètres définis dans le modèle de paramètres haute performance pour PolarDB for MySQL, explique comment l'activer et détaille les gains de performance obtenus après activation.
Présentation
L'ajustement des nombreux paramètres de PolarDB pour des scénarios spécifiques peut s'avérer complexe. Pour simplifier l'optimisation des performances, PolarDB propose des modèles de paramètres haute performance. Appliquez directement un modèle à un cluster ou utilisez-le comme base de personnalisation. Ces modèles améliorent les performances de la base de données dans la plupart des cas.
Les modèles de paramètres haute performance pour PolarDB for MySQL modifient les paramètres clés suivants.
|
Paramètre |
Description |
Valeur du modèle |
Valeur par défaut |
|
innodb_flush_log_at_trx_commit |
Lorsqu'il est défini sur 0, le tampon de journal est écrit dans le fichier journal et vidé sur le disque une fois par seconde. Cela améliore les performances mais réduit la durabilité, car jusqu'à une seconde de transactions peut être perdue en cas de panne. |
0 |
1 |
|
query_cache_type |
Indique si la fonctionnalité Fast Query Cache est activée. L'activation de cette fonctionnalité peut améliorer considérablement les performances des requêtes. |
1 |
0 |
|
Paramètre |
Description |
Valeur du modèle |
Valeur par défaut |
|
innodb_flush_log_at_trx_commit |
Lorsqu'il est défini sur 0, le tampon de journal est écrit dans le fichier journal et vidé sur le disque une fois par seconde. Cela améliore les performances mais réduit la durabilité, car jusqu'à une seconde de transactions peut être perdue en cas de panne. |
0 |
1 |
|
loose_innodb_primary_purge_max_id_lag |
Lorsque ce paramètre est défini sur 18446744073709551104, les vues de lecture sur les nœuds en lecture seule ne restreignent plus le nœud principal. |
18446744073709551104 |
N/A |
|
Paramètre |
Description |
Valeur du modèle |
Valeur par défaut |
|
innodb_flush_log_at_trx_commit |
Lorsqu'il est défini sur 0, le tampon de journal est écrit dans le fichier journal et vidé sur le disque une fois par seconde. Cela améliore les performances mais réduit la durabilité, car jusqu'à une seconde de transactions peut être perdue en cas de panne. |
0 |
1 |
|
loose_innodb_lock_sys_rec_partition |
Définit le nombre de partitions pour le système de verrouillage des transactions. Le partitionnement de ce système, qui gère à la fois les verrous de ligne et de table, réduit la surcharge liée aux conflits. |
64 |
1 |
|
loose_query_cache_type |
Indique si la fonctionnalité Fast Query Cache est activée. L'activation de cette fonctionnalité peut améliorer considérablement les performances des requêtes. |
ON |
OFF |
Limites
Les modèles de paramètres haute performance sont pris en charge par les éditions Standard et Cluster de PolarDB. Pour l'édition Cluster, votre cluster doit exécuter l'une des versions suivantes :
PolarDB for MySQL 5.6 avec une version de révision 5.6.1.0.30 ou ultérieure.
PolarDB for MySQL 5.7 avec une version de révision 5.7.1.0.11 ou ultérieure.
PolarDB for MySQL 8.0.1 avec une version de révision 8.0.1.1.21 ou ultérieure.
PolarDB for MySQL 8.0.2 avec une version de révision 8.0.2.2.6.1 ou ultérieure.
Vous pouvez vérifier la version de votre cluster en suivant les instructions de la rubrique Interroger la version du moteur.
Cas d'utilisation et risques potentiels
Bien que les modèles de paramètres haute performance améliorent généralement les performances de la base de données, ils privilégient la vitesse à la durabilité. L'application d'un modèle introduit les risques suivants :
La durabilité des données est réduite. Étant donné que le paramètre innodb_flush_log_at_trx_commit est défini sur
0, les données qui n'ont pas été vidées sur le disque au cours de la dernière seconde peuvent être perdues en cas de panne de la base de données.La latence de réplication entre le nœud principal et le nœud secondaire peut augmenter. Comme le paramètre innodb_flush_log_at_trx_commit est défini sur
0, la réplication physique entre les nœuds principal et secondaire peut être retardée d'environ 1 seconde.
Pour éviter ces risques, définissez innodb_flush_log_at_trx_commit sur 1.
Si votre charge de travail peut tolérer une légère réduction de la stabilité en échange de performances supérieures, appliquez un modèle de paramètres haute performance à votre cluster.
Avant d'appliquer un modèle de paramètres haute performance, nous vous recommandons de consulter le support technique d'Alibaba Cloud en soumettant un ticket.
Appliquer un modèle de paramètres haute performance
Appliquez un modèle de paramètres haute performance à votre cluster en utilisant l'une des deux méthodes suivantes.
Après l'application d'un modèle, le cluster doit être redémarré pour que les modifications prennent effet. Ce redémarrage entraîne une interruption transitoire de la connexion. Nous vous recommandons d'effectuer cette opération pendant les heures creuses et de vous assurer que votre application dispose d'un mécanisme de reconnexion automatique.
Méthode 1 :
Connectez-vous à la console PolarDB.
Dans le coin supérieur gauche de la console, sélectionnez la région où votre cluster est déployé.
Dans le volet de navigation de gauche, cliquez sur Parameter Template.
Sur la page Parameter Template, cliquez sur l'onglet System Parameter Templates.
Recherchez le modèle nommé mysql_innodb_5,6_high-performance, mysql_innodb_5,7_high-performance ou mysql_innodb_8,0_high-performance, puis cliquez sur Actions > Apply to Cluster.
-
Dans le panneau Apply to instance, sélectionnez le cluster cible et cliquez sur > pour l'ajouter à la liste Selected Instances.
Après avoir sélectionné un cluster, examinez les différences de paramètres dans la section Parameter Comparison.
-
Cliquez sur OK.
RemarqueAprès l'application du modèle, le cluster doit être redémarré pour que les modifications prennent effet.
Méthode 2 :
Connectez-vous à la console PolarDB.
Dans le coin supérieur gauche de la console, sélectionnez la région où votre cluster est déployé.
Recherchez le cluster cible et cliquez sur son ID.
Dans le volet de navigation de gauche, choisissez .
Cliquez sur Apply Template.
-
Dans la boîte de dialogue Apply Template, sélectionnez le modèle haute performance approprié dans la liste déroulante Template Name. Vous pouvez afficher des détails tels que Number of parameters, Includes restart-required parameters et Restart Required. Si nécessaire, cochez la case Ignore duplicate parameter values.
Après avoir sélectionné un modèle, examinez les différences de paramètres dans la section Parameter Comparison.
-
Cliquez sur OK.
RemarqueAprès l'application du modèle, le cluster doit être redémarré pour que les modifications prennent effet.
Comparaison des performances
Cette section compare les performances d'un cluster PolarDB for MySQL 8,0 avant et après l'application d'un modèle de paramètres haute performance. La comparaison s'appuie sur les résultats des benchmarks Sysbench et TPC-C.
Sysbench est un outil de benchmark modulaire, multiplateforme et multithread utilisé pour évaluer les performances du système sous de fortes charges de travail de base de données.
TPC-C est un benchmark standard de l'industrie proposé par le Transaction Processing Performance Council (TPC) qui mesure les performances de traitement des transactions en ligne (OLTP) d'un système de base de données.
L'implémentation TPC-C utilisée ici est basée sur le benchmark officiel mais n'est pas entièrement conforme. Par conséquent, ces résultats ne sont pas comparables aux résultats de benchmark TPC-C publiés officiellement.
-
Environnement de test
-
Cluster PolarDB for MySQL :
Spécifications : 88 cœurs, 720 Go de mémoire
Version du noyau : 8.0.1.1.21 ou ultérieure
-
Client de test de charge :
La latence de ping entre le client de test et la base de données est d'environ 1 ms.
Le client dispose de ressources de calcul et réseau suffisantes.
-
-
Procédure de test Sysbench
Suite de tests : read_write, write_only
Jeu de données initial : 25 tables, chacune contenant 25 000 lignes
Métrique de performance : QPS (requêtes par seconde), qui mesure le nombre d'instructions SQL (y compris INSERT, SELECT, UPDATE et DELETE) exécutées par seconde à différents niveaux de demandes concurrentes : 1, 8, 16, 32, 64, 128, 256, 512 et 1 024.
-
Procédure de test TPC-C
Outil : TPCC-MySQL
Jeu de données initial : 1 000 entrepôts
Métrique de performance : tpmC (transactions par minute C), qui mesure le débit qualifié maximal (MQTh) de la base de données à différents niveaux de demandes concurrentes : 1, 8, 16, 32, 64, 128, 256, 512 et 1 024.
-
Résultats des tests
Test Sysbench

Test TPC-C

Conclusion : Le modèle de paramètres haute performance améliore considérablement les performances du cluster à mesure que la concurrence augmente. Sur la base des tests Sysbench et TPC-C, les performances sont plus que doublées à partir de 256 demandes concurrentes ou plus par rapport aux paramètres par défaut.