MariaDB Tuning – Tipps zur Leistungsoptimierung

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Allgemeine Empfehlungen

  • Passe Konfigurationswerte an die verfügbare Hardware an (RAM, CPU, Storage).
  • Optimiere je nach Nutzungsschwerpunkt: viele kleine Inserts vs. komplexe Selects.

InnoDB-spezifische Parameter

Größe des Buffer Pools – wichtigster Wert
  • innodb_buffer_pool_size = 70–80 % deines verfügbaren RAMs (bei reiner Datenbanknutzung)
Anzahl der Threads für parallele Anfragen
  • innodb_read_io_threads = 4
  • innodb_write_io_threads = 4
Größe der Log-Dateien (für viele Transaktionen vergrößern)
  • innodb_log_file_size = 512M oder 1G
Log Buffer für Transaktionen
  • innodb_log_buffer_size = 64M

Binlog / Replikation

Binlog-Kompression aktivieren (spart IO)
  • binlog_row_image = minimal
Binlog-Größe begrenzen
  • max_binlog_size = 256M

Query Cache (nur bei sehr vielen gleichen SELECTs – sonst deaktivieren)

Query Cache deaktivieren (empfohlen)
  • query_cache_type = 0
  • query_cache_size = 0

Verbindungslimits / Threads

Maximale gleichzeitige Verbindungen
  • max_connections = 200
Thread-Cache erhöhen für weniger Prozessstarts
  • thread_cache_size = 50

Logging und Analyse

Langsame Abfragen loggen
  • slow_query_log = 1
  • slow_query_log_file = /var/log/mysql/mariadb-slow.log
  • long_query_time = 1
Performance-Schema aktivieren
  • performance_schema = ON

Tools zur Analyse

  • mysqltuner (Paket: mysqltuner) → gibt Empfehlungen auf Basis von Nutzung und Status
  • innotop → Übersicht über InnoDB-Status in Echtzeit

Beispiel: mysqltuner installieren und starten

  • apt install mysqltuner
  • mysqltuner

Das Tool analysiert RAM-Nutzung, Query-Cache, Verbindungen und gibt konkrete Tuning-Tipps aus.