Skip to content

For help, click the link below to get free database assistance or contact our experts for personalized support.

Defaults and tuning guidance for 8.4

MySQL 8.4 updates several server defaults to align with modern CPUs, memory sizes, and SSD/NVMe storage. An in-place upgrade that blindly reuses an 8.0-era my.cnf may forgo these improvements or cause unexpected performance behaviors. Review and re-evaluate configuration on 8.4—or generate a new config—rather than carrying old settings forward.

Notable InnoDB default changes

InnoDB System Variable Name New Default (8.4) Previous Default (8.0)
innodb_adaptive_hash_index OFF ON
innodb_change_buffering none all
innodb_doublewrite_files 2 innodb_buffer_pool_instances * 2
innodb_doublewrite_pages 128 4
innodb_flush_method on Linux O_DIRECT if supported, otherwise fsync fsync
innodb_io_capacity 10000 200
innodb_log_buffer_size 67108864 (64 MiB) 16777216 (16 MiB)
innodb_numa_interleave ON OFF
temptable_max_ram 3% of total memory (1–4 GiB range) 1073741824 (1 GiB)
innodb_parallel_read_threads available logical processors / 8 (min 4) 4

Why it matters:

  • Higher innodb_io_capacity leverages SSD/NVMe for IO-bound workloads; legacy spinning disks may need a lower value.
  • Larger innodb_log_buffer_size reduces redo flush frequency—helpful for write-heavy workloads.
  • innodb_adaptive_hash_index default OFF favors predictability; AHI can become a contention source under concurrency.
  • NUMA interleaving defaults ON to reduce imbalance on multi-socket systems.

Configuration review checklist

Use this to adapt an 8.0 configuration to 8.4:

  • Remove overrides that merely reassert old 8.0 defaults unless they are proven necessary.
  • Re-evaluate IO settings (innodb_io_capacity, flush method) based on storage type and observed latency.
  • Confirm redo/undo settings and log buffer meet current write patterns.
  • Validate parallel read threads relative to CPU topology and workload.
  • Generate a fresh config for 8.4 when possible; only reapply carefully justified overrides.

Practical evaluation steps

  • Benchmark with your workload: baseline on 8.0 → restore to 8.4 → run the same tests.
  • Compare Performance Schema and wait events for regressions or new hotspots.
  • Adjust a single variable at a time; document changes and impacts.

Further reading