innodb_sync_spin_loops
INFO
Rule IDs: cc_005
Overview
- Purpose
- Documented in the MySQL 8.4 manual as a server system variable (scope: Global). Purpose and semantics are described at the linked manual page.
- Dynamic (MySQL 8.4 reference)
- MySQL 8.4 marks this variable as dynamic (
Dynamic= Yes). Runtime changes useSET GLOBAL(global scope) orSET SESSION(session scope) — confirm syntax and persistence (SET PERSIST) in the manual. - Default value
- 30 (MySQL 8.4)
- Version and product notes
- MariaDB and Percona Server may use different names, defaults, or dynamic behavior; verify their documentation.
- Documentation
- https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_sync_spin_loops
- Other vendors
What is checked
Rules that reference this variable, with their severity and what each rule detects:
- INFO
cc_005: Default of 30 is usually fine. Increase only if profiling shows threads are context-switching prematurely on short mutex waits.
Tuning guidance
- Recommended actions:
- Default of 30 is usually fine. Increase only if profiling shows threads are context-switching prematurely on short mutex waits.
- Trade-offs: Thread concurrency controls balance CPU utilization against contention. Too many concurrent threads cause lock waits; too few leave CPU idle. Auto-management (concurrency=0) works well for most workloads.
Example
Consult the manual for whether SET GLOBAL, SET PERSIST, or SET SESSION applies.