赞
踩
- 2023-06-28T01:33:58.052190Z 6 [Warning] InnoDB: Difficult to find free blocks in the buffer pool (137555 search iterations)! 137555 failed attempts to flush a page! Consider increasing the buffer poo
- l size. It is also possible that in your Unix version fsync is very slow, or completely frozen inside the OS kernel. Then upgrading to a newer version of your operating system may help. Look at the n
- umber of fsyncs in diagnostic info below. Pending flushes (fsync) log: 0; buffer pool: 0. 47191415 OS file reads, 1205838 OS file writes, 459976 OS fsyncs. Starting InnoDB Monitor to print further di
- agnostics to the standard output.
- 2023-06-28T01:33:58.053203Z 0 [Warning] InnoDB: Difficult to find free blocks in the buffer pool (137565 search iterations)! 137565 failed attempts to flush a page! Consider increasing the buffer poo
- l size. It is also possible that in your Unix version fsync is very slow, or completely frozen inside the OS kernel. Then upgrading to a newer version of your operating system may help. Look at the n
- umber of fsyncs in diagnostic info below. Pending flushes (fsync) log: 0; buffer pool: 0. 47191415 OS file reads, 1205838 OS file writes, 459976 OS fsyncs. Starting InnoDB Monitor to print further di
- agnostics to the standard output.
-
看到上面的问题,中文简单翻译过来大概就是缓冲池没有空闲块,也有可能在你的 Unix 版本中 fsync 调用非常慢,可能需要升级操作系统版本
上面的错误日志在哪里我是怎么拿到的?
如果你的客户端能够连接上mysql服务,可以使用show VARIABLES like '%log_error%' 命令查看到对应的文件路径
如果连接不上请登录服务器找到对应的my.cnf配置文件(如何找到这个文件呢),如果my.cnf文件没有配置log_error的选项,那默认就是在数据目录下并且文件名字是主机名.err这个文件
看到这个意思,我立刻想到了mysql有个很重要的参数innodb_buffer_pool_size
我这边看到服务器my.cnf 文件没有对该参数选项设置 那么默认就是参数值128M,这个参数值太小了,生产环境我们肯定是需要调整的
那这个参数设置多大呢?这里强调下,我这边使用的mysql版本是5.7.29
这个是我本地windows安装的mysql对应配置选项的一段描述
大概就是说与 MyISAM 不同, InnoDB 使用缓冲池来缓存索引和行数据。设置的值越大,用于 访问表中数据的磁盘 I/O 就越少。在专用的数据库服务器上,可以将此参数设置为计算机物理内存大小的80% 。但是,不要将它设置为太大,因为物理内存的竞争可能导致操作系统中的分页。
另外还有个参数innodb_buffer_pool_instances 查看到配置的值为1,这个也适当需要调整
InnoDB 缓冲池划分的区域数(实例数量)。对于缓冲池在几 GB 范围内的系统,将缓冲池划分为单独的实例可以提高并发, 通过减少不同线程读写缓存页面时的争用
那这两个参数到底怎么理解呢
假设你有一个数据库服务器,其中运行着一个基于InnoDB引擎的应用程序。现在让我们来看看这两个参数的含义:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。