深圳全飞鸿

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 591|回复: 0
打印 上一主题 下一主题

关于 innodb_buffer_pool

[复制链接]

800

主题

1379

帖子

7726

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7726
跳转到指定楼层
楼主
发表于 2020-10-5 17:37:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
innodb_buffer_pool_size默认大小为128M

配置的innodb_buffer_pool_size是否合适?
当前配置的innodb_buffer_pool_size是否合适,可以通过分析InnoDB缓冲池的性能来验证。

可以使用以下公式计算InnoDB缓冲池性能:

Performance = innodb_buffer_pool_reads / innodb_buffer_pool_read_requests * 100

innodb_buffer_pool_reads:表示InnoDB缓冲池无法满足的请求数。需要从磁盘中读取。

innodb_buffer_pool_read_requests:表示从内存中读取逻辑的请求数。

例如,在我的服务器上,检查当前InnoDB缓冲池的性能:

show status like 'innodb_buffer_pool_read%';


Innodb_buffer_pool_pages_data
InnoDB缓冲池中包含数据的页数。 该数字包括脏页面和干净页面。 使用压缩表时,报告的Innodb_buffer_pool_pages_data值可能大于Innodb_buffer_pool_pages_total(Bug#59550)。
Innodb_buffer_pool_pages_dirty
显示在内存中修改但尚未写入数据文件的InnoDB缓冲池数据页的数量(脏页刷新)。

Innodb_buffer_pool_pages_flushed
表示从InnoDB缓冲池中刷新脏页的请求数。

Innodb_buffer_pool_pages_free
显示InnoDB缓冲池中的空闲页面

Innodb_buffer_pool_pages_misc
InnoDB缓冲池中的页面数量很多,因为它们已被分配用于管理开销,例如行锁或自适应哈希索引。此值也可以计算为Innodb_buffer_pool_pages_total - Innodb_buffer_pool_pages_free - Innodb_buffer_pool_pages_data。

Innodb_buffer_pool_pages_total
InnoDB缓冲池的总大小,以page为单位。

innodb_buffer_pool_reads
表示InnoDB缓冲池无法满足的请求数。需要从磁盘中读取。

innodb_buffer_pool_read_requests
它表示从内存中逻辑读取的请求数。

innodb_buffer_pool_wait_free
通常,对InnoDB缓冲池的写入发生在后台。 当InnoDB需要读取或创建页面并且没有可用的干净页面时,InnoDB首先刷新一些脏页并等待该操作完成。 此计数器计算这些等待的实例。 如果已正确设置innodb_buffer_pool_size,则此值应该很小。如果大于0,则表示InnoDb缓冲池太小。

innodb_buffer_pool_write_request
表示对缓冲池执行的写入次数。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|nagomes  

GMT+8, 2025-7-1 17:56 , Processed in 0.052598 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表