Who is this for?
This Learning Path is for database administrators (DBAs) and software developers who want to optimize MySQL performance on Arm-based platforms.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Configure MySQL settings that affect connection handling, memory usage, disk flush behavior, and concurrency.
- Enable huge pages for MySQL and size them based on the InnoDB buffer pool.
- Evaluate storage, kernel, compiler, and library choices that can affect MySQL performance.
Prerequisites
Before starting, you will need the following:
- On-prem or cloud
installation of MySQL
- A repeatable MySQL workload or benchmark that you can run before and after tuning
Summary
AI-assisted
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication.
Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
You’ll learn how to use a measurement-driven approach to tune MySQL performance on Arm-based platforms. You’ll explore system factors — storage technology and file systems, disk scheduling, kernel memory management, compiler, and library versions — that you can adjust. In addition, you’ll learn about optimizable MySQL parameters related to connection handling, memory usage, disk flush behavior, and concurrency, and learn how to enable and size huge pages based on the InnoDB buffer pool. By the end, you’ll know what parameters to update for running controlled experiments, and be able to make persistent configuration choices aligned with your workload.
Frequently asked questions
AI-assisted
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication.
Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
How do I know a MySQL tuning change actually helped?Run the same repeatable workload before and after the change and compare throughput, latency, and profiles. Change one parameter at a time or use a designed experiment so results are attributable to specific settings.
Should I set MySQL parameters in an option file or on the `mysqld` command line?Use an option file for persistent tuning so changes are reviewable, version controlled, and applied on restart. The examples in the Learning Path target the [mysqld] group. Command-line flags are suitable for temporary tests.
Which storage option should I use when testing performance?In general, locally attached SSD storage performs best, but network-based storage can also perform well. Test the storage technologies and file systems you have, and review disk scheduling behavior with your workload.
When should I look at kernel, compiler, or library choices instead of MySQL settings?Evaluate them before or alongside MySQL tuning because operating system settings, kernel memory management, compiler choices, and library versions can affect throughput and latency. Treat them as part of the same performance experiment set.
How should I size huge pages for MySQL?Enable huge pages for MySQL and size them based on the InnoDB buffer pool. This aligns page allocation with the primary memory consumer in typical MySQL deployments.