Configurations MariaDB/MySQL pour performance et utilisation mémoire.
MariaDB et MySQL Tuning regroupe les paramètres critiques de configuration pour performance et scalability. Configuration via `/etc/mysql/mariadb.conf.d/50-server.cnf` (MariaDB Debian/Ubuntu) ou my.cnf.
InnoDB (storage engine défaut) — paramètres critiques :
(1) **innodb_buffer_pool_size = 70-80% RAM** sur DB-dedicated server — la cache la plus importante, idéalement contient tout le working set DB en RAM. Exemple : 32 GB serveur DB-only → 24 GB buffer pool.
(2) **innodb_log_file_size = 1G** — larger = better write performance mais slower crash recovery. 256MB-2GB typical.
(3) **innodb_flush_log_at_trx_commit = 1** (ACID compliant, default) — 0 ou 2 plus rapide mais data loss possible on crash.
(4) **innodb_flush_method = O_DIRECT** — bypass OS file cache (avoid double caching).
(5) **innodb_io_capacity = 2000** (SSD), 200 (HDD).
(6) **innodb_thread_concurrency = 0** (auto).
(7) **innodb_file_per_table = 1** — un fichier ibd par table (default depuis 5.6).
Connexions et threads :
(1) **max_connections = 200-500** selon load. Trop élevé = thrashing.
(2) **thread_cache_size = 100** — réutilise threads.
(3) **table_open_cache = 4000** — handles tables ouvertes.
Query cache (MariaDB seulement, dépréqué MySQL 8) : `query_cache_type = 0` recommandé maintenant (perf hit on writes).
Logs : (1) `slow_query_log = 1` + `long_query_time = 1` + `log_queries_not_using_indexes = 1` → optimize slow queries ; (2) `log_bin = /var/log/mysql/mariadb-bin` pour replication et PITR backup.
Outils tuning : (1) **MySQLTuner** (Perl script) — analyse running DB, fait recommandations ; (2) **mysqlcalculator.com** — buffer sizing calculator ; (3) **pt-query-digest** (Percona Toolkit) — analyse slow log ; (4) **performance_schema** queries pour identifier bottlenecks ; (5) **Percona Monitoring and Management (PMM)** — comprehensive monitoring. Compétences DP-300, RHCSA.
200+ certifications, 400 000+ questions, examens blancs chronométrés.
Voir le catalogue →