Tous les produits
Search
Centre de documentation

ApsaraDB RDS:16K atomic write

Dernière mise à jour :Aug 25, 2026

L'écriture atomique 16 Ko améliore les performances d'écriture d'ApsaraDB RDS for MySQL d'au moins 40 %, sans coût supplémentaire. Cette fonctionnalité offre à InnoDB une garantie matérielle selon laquelle chaque écriture de page de données de 16 Ko est atomique, rendant le mécanisme doublewrite inutile.

Fonctionnement

Le moteur InnoDB de MySQL lit et écrit les données par pages de 16 Ko, mais la plupart des systèmes de fichiers écrivent par blocs de 4 Ko. Sans protection supplémentaire, une coupure de courant en cours d'écriture peut laisser une page partiellement écrite, une situation dont InnoDB ne peut pas se remettre seul.

La solution traditionnelle d'InnoDB est le mécanisme doublewrite : chaque page sale est d'abord écrite dans le tampon doublewrite, puis vidée vers son emplacement réel. Cela transforme chaque vidage en deux opérations d'écriture au lieu d'une, doublant presque la charge d'E/S d'écriture.

L'écriture atomique 16 Ko adopte une approche différente. Au lieu d'écrire chaque page deux fois, elle demande au stockage sous-jacent de garantir que toute écriture de 16 Ko soit entièrement effectuée ou pas du tout. Avec cette garantie, le tampon doublewrite n'apporte aucune valeur ajoutée en matière de sécurité ; par conséquent, innodb_doublewrite est désactivé, ce qui réduit de moitié les E/S d'écriture.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Une instance RDS exécutant MySQL 5.7 ou MySQL 8.0

  • Type de stockage : SSD standard ou ESSD Premium

Facturation

L'écriture atomique 16 Ko est gratuite. L'activation ou la désactivation de cette fonctionnalité n'entraîne aucun frais.

Notes d'utilisation

  • Redémarrage de l'instance requis : L'instance redémarre lorsque vous activez ou désactivez l'écriture atomique 16 Ko. Prévoyez une interruption de service avant d'effectuer ces modifications.

  • Liaison entre les instances principales et en lecture seule : Si l'écriture atomique 16 Ko est activée sur l'instance principale, elle ne peut pas être désactivée sur les instances en lecture seule. La désactiver uniquement sur les instances en lecture seule créerait un décalage de performances entraînant un retard de réplication.

  • Héritage de la configuration : Les instances en lecture seule et les instances restaurées à partir d'une sauvegarde héritent du paramètre d'écriture atomique 16 Ko de l'instance source.

Activer ou désactiver l'écriture atomique 16 Ko

Important

Les instances qui répondent aux prérequis et aux conditions suivantes ont l'écriture atomique 16 Ko activée par défaut :

  • Nouvelles instances : Achetées depuis la console ApsaraDB RDS le 14 mai 2025 ou après cette date.

  • Instances RDS YiTian existantes : Instances dont le type de produit n'a pas été modifié. Les instances standard existantes ne prennent pas en charge l'écriture atomique 16 Ko.

  1. Ouvrez la liste des instances ApsaraDB RDS, sélectionnez une région et cliquez sur l'ID de l'instance cible.

  2. Sur la page Basic Information, cliquez sur le commutateur 16K atomic write pour activer ou désactiver la fonctionnalité.

Tests de performance

Les résultats suivants ont été mesurés à l'aide de Sysbench oltp_write_only sur des instances High-availability Edition avec des ESSD Premium, en comparant les QPS avant et après l'activation de l'écriture atomique 16 Ko.

Configuration du test

Instances de test

Edition Storage type Instance family Instance type Specs
High-availability Premium ESSD General-purpose mysql.n2.large.2c 4 cœurs, 8 Go
High-availability Premium ESSD Dedicated mysql.x2.large.2c 4 cœurs, 8 Go

Données de test : 300 Go répartis sur 30 tables, avec 40 millions de lignes chacune.

Installer Sysbench (exemple CentOS) :

git clone https://github.com/akopytov/sysbench.git
cd sysbench
git checkout 0.5

yum -y install make automake libtool pkgconfig libaio-devel
yum -y install mariadb-devel

./autogen.sh
./configure
make -j
make install

Préparer les données de test :

sysbench oltp_write_only --tables=30 --table_size=40000000 --rand-type=special --rand-spec-pct=15 --threads=64 --time=100 prepare

Paramètres de test

Parameter Value Description
tables 30 Nombre de tables
table_size 40 000 000 Lignes par table
rand-type special Distribution des nombres aléatoires
rand-spec-pct 15 Pourcentage traité comme des valeurs spéciales
threads 64 Threads simultanés
time 100 Durée du test (secondes)

Exécuter le test

sysbench oltp_write_only --tables=30 --table_size=40000000 --rand-type=special --rand-spec-pct=15 --threads=64 --time=100 run

Résultats des tests

Écriture atomique 16 Ko

  • Instance General-purpose (4 cœurs, 8 Go) : Les QPS ont augmenté de 48 % après l'activation de l'écriture atomique 16 Ko (orange).

    image

  • Instance Dedicated (4 cœurs, 8 Go) : Les QPS ont augmenté de 47 % après l'activation de l'écriture atomique 16 Ko (orange).

    image

Écriture atomique 16 Ko + Buffer Pool Extension (BPE)

Pour plus de détails sur la fonctionnalité Buffer Pool Extension (BPE) pour les ESSD Premium, consultez Utiliser la fonctionnalité d'accélération des E/S des ESSD généraux .
  • Instance General-purpose (4 cœurs, 8 Go) : Les QPS ont augmenté de 93 % après l'activation conjointe de l'écriture atomique 16 Ko et de BPE (orange).

    image

Étapes suivantes

Références