Troubleshooting MySQL performance bottleneck due to heavy load
When a MySQL server is experiencing heavy load, it can be challenging to identify and troubleshoot the source of the bottleneck. Here are some steps that can be taken to troubleshoot a MySQL bottleneck due to heavy load:
- Monitor system resources: Monitor the server's CPU, memory, and disk I/O usage to see if any of these resources are reaching their limits. High CPU usage, high memory usage, or high disk I/O can all indicate that the server is struggling to keep up with the load.
- Monitor the number of connections: Check the number of connections to the MySQL server. A high number of connections can indicate that the server is reaching its maximum connection limit, which can lead to a bottleneck.
- Monitor slow queries: Use the MySQL slow query log to identify slow-running queries that may be causing a bottleneck. Check for queries that are taking a long time to execute or that are being executed frequently.
- Monitor the status of the InnoDB buffer pool: Use the command SHOW ENGINE INNODB STATUS to check the status of the InnoDB buffer pool. A high number of buffer pool reads can indicate that the server is struggling to keep up with the load.
- Monitor the status of the InnoDB Redo Log: Use the command SHOW ENGINE INNODB STATUS to check the status of the InnoDB Redo log. A high number of redo log writes can indicate that the server is struggling to keep up with the load.
- Monitor the status of the InnoDB undo log: Use the command SHOW ENGINE INNODB STATUS to check the status of the InnoDB undo log. A high number of undo log writes can indicate that the server is struggling to keep up with the load.
- Monitor the status of the MySQL general logs: Use the command SHOW GLOBAL STATUS to check the status of the MySQL general logs. A high number of queries can indicate that the server is struggling to keep up with the load.
- Analyze the MySQL process list: Use the command SHOW PROCESSLIST to check the current running queries and their status.

Running this in production?
MinervaDB provides MySQL Consulting, MySQL Support and MySQL Remote DBA with 24x7 coverage and a 15-minute S1 response. Talk to an engineer.