3. Log Buffer
Tampon en mémoire pour les écritures de journaux de transaction (redo logs) avant enregistrement disque.
Objectif: 🎯 Objectif du composant
Réduire les accès disque fréquents en stockant temporairement les écritures de transaction dans un buffer mémoire avant flush.
Paramètres: ⚙️ Paramètre concerné
innodb_log_buffer_size Taille du buffer log (ex : 16M, 32M, 64M)
Bonnes pratiques: ✅ Bonnes pratiques
- Adapter à la charge transactionnelle - Utiliser SHOW STATUS pour voir si le buffer est suffisant - Corréler avec innodb_log_file_size pour l’efficacité du write-ahead logging
Pièges à éviter: ⚠️ Pièges à éviter
- Trop petit → flush trop fréquents - Trop grand → gaspillage mémoire - Oublier que cela ne remplace pas le tuning des fichiers de log
Recommandations: 👤 Recommandations par profil
OLTP standard : 16M OLTP lourd : 32M–64M Gros batchs transactionnels : jusqu’à 128M si RAM suffisante
Exemples: 🧪 Exemples de réglage
SET GLOBAL innodb_log_buffer_size = 64*1024*1024;
Commandes utiles: 🛠️ Commandes utiles
SHOW GLOBAL VARIABLES LIKE 'innodb_log_buffer_size'; SHOW GLOBAL STATUS LIKE 'Innodb_log_waits';
Références: 🔗 Références officielles
- https://mariadb.com/kb/en/innodb-redo-log/ - https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_log_buffer_size
