io_scheduler
INFO
Rule IDs: os_004
Overview
- Purpose
- Block I/O scheduler name for storage devices (from host context).
- Dynamic (MySQL 8.4 reference)
- OS / kernel — not a MySQL variable.
- Default value
- Depends on kernel and device.
- Version and product notes
- N/A
- Documentation
- Primary reference depends on product (MySQL, MariaDB, Percona, or OS documentation).
What is checked
Rules that reference this variable, with their severity and what each rule detects:
- INFO
os_004: Use noop/none (SSD) or deadline/mq-deadline (HDD). CFQ adds unnecessary scheduling overhead for database workloads.
Tuning guidance
- Recommended actions:
- Use noop/none (SSD) or deadline/mq-deadline (HDD). CFQ adds unnecessary scheduling overhead for database workloads.
- Trade-offs: OS tuning (swap, THP, NUMA, I/O scheduler) operates outside MySQL but directly affects database performance. Changes require root access and may need a reboot.
Example
echo none > /sys/block/sda/queue/scheduler -- SSD echo mq-deadline > /sys/block/sda/queue/scheduler -- HDD