MySQL问题处理和性能优化汇总

数据库查询比较慢,CPU不高,但磁盘I/O特别高(几十M/S)?

该情况通常是由于mysql缓存太小引起的,可以通过查看innodb_buffer_pool_size变量的值来定位:

MariaDB [(none)]> show variables like 'innodb_buffer_pool_size';

+-------------------------+------------+
| Variable_name           | Value      |
+-------------------------+------------+
| innodb_buffer_pool_size | 1073741824 |
+-------------------------+------------+

innodb_buffer_pool_size默认的值为16M,如果这个值远小于数据库数据大小时,就会出现以上情况。只要把这个值改成和数据库大小差不多大就能立马缓解该问题。

MariaDB [(none)]> show global innodb_buffer_pool_size = 1*1024*1024*1024;

关联文章阅读:
https://www.cnblogs.com/fuyuteng/p/10524015.html
https://www.cnblogs.com/wanbin/p/9530833.html

你可能感兴趣的:(MySQL问题处理和性能优化汇总)