Optimizing MySQL without SQL or touching my.cnf
summary
Dropbox reworks MySQL builds and OS settings to squeeze real gains: profile‑guided optimization on GCC/Clang and link‑time and native‑arch builds yield up to ~35–40% throughput and lower latencies on sysbench, while fixing MySQL’s old “fast mutex” avoids ~1.5–2% CPU waste (fixed in 5.7.8). Uses perf and AutoFDO (requires LBR) to collect profiles, sbench for benchmarks, and Percona slow‑log playback (accurate mode, configurable Q depth, no connection leaks) to reproduce production workload for safe validation.
AI-written summary · about
chapters (18)
- 0:00Intro
- 1:05We want to be more efficient
- 1:41OS-level optimizations
- 4:04How it works
- 4:29Let's run strace
- 6:24Mutex implementation
- 7:18Fast Mutexes
- 11:09sysbench example
- 11:35Compilers
- 17:08Link-time optimizations
- 19:24Native instruction sets
- 21:52Real world scenarios
- 27:51Query Playback issues • Leaks connections . Often runs into lock waits, and seems to do nothing Slow log ordering issue • Output is unreadable, reasonable debugging is next to impossible
- 30:27Kudos to Marius Wachtler
- 31:21Slow log event example
- 34:06Accurate mode
- 36:10Tips for larger queue depth • Faster than possible playback, while ordering is guaranteed
- 39:40AutoFDO
related talks
57mPerformance Analysis and Optimization of MySQL
54mPerformance Analysis and Optimization of MySQL
53mMySQL DevOps
53mIntroduction to MySQL Performance Tuning - workshop 1hr
28mMysql Optimizer Features in 5.7 and 8.0
26mHow MySQL Configuration Tuning Boosts App Performance
56mOptimization Techniques in MySQL
53mEfficient MySQL Performance
