gpt4 book ai didi

mysql - 缓冲池使用百分比查询返回无效结果

转载 作者:行者123 更新时间:2023-11-30 21:31:23 24 4
gpt4 key购买 nike

我正在尝试计算我的数据库服务器上的缓冲池使用情况,但我过去使用的查询给出的结果不准确:

mysql>     SELECT  CONCAT(FORMAT(DataPages*100.0/TotalPages,2),' %')
BufferPoolDataPercentage
FROM ( SELECT variable_value DataPages
FROM information_schema.global_status
WHERE variable_name = 'Innodb_buffer_pool_pages_data'
) A,
( SELECT variable_value TotalPages
FROM information_schema.global_status
WHERE variable_name = 'Innodb_buffer_pool_pages_total'
) B;

+--------------------------+
| BufferPoolDataPercentage |
+--------------------------+
| 145.55 % |
+--------------------------+
1 row in set (0.01 sec)

有人可以建议修复吗?

最佳答案

你用的是什么版本?

是否涉及ROW_FORMAT = COMPRESSED

变更日志说

----- 2013-02-05 5.6.10 公开发布和 2013-02-05 5.5.30 -- 添加或更改的功能 -- InnoDB -----

使用压缩表时,计算buffer pool 内的内存使用情况很复杂,因为压缩页面可能小于 16KB 或用户指定的 page size .尽管可以从 INFORMATION_SCHEMA.INNODB_BUFFER_PAGE 中检索此信息表,该操作是昂贵的。以下新状态变量有助于简化涉及缓冲池内存使用的计算:

[Innodb_buffer_pool_bytes_data](http://dev.mysql.comhttps://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html#statvar_Innodb_buffer_pool_bytes_data), to supplement [Innodb_buffer_pool_pages_data](http://dev.mysql.comhttps://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html#statvar_Innodb_buffer_pool_pages_data).

[Innodb_buffer_pool_bytes_dirty](http://dev.mysql.comhttps://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html#statvar_Innodb_buffer_pool_bytes_dirty), to supplement [Innodb_buffer_pool_pages_dirty](http://dev.mysql.comhttps://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html#statvar_Innodb_buffer_pool_pages_dirty).

(错误号 15842637)

----- 2010-07-06 5.5.5 开发者里程碑 -- 错误修复 -- InnoDB -----
----- 2010-05-06 5.1.47 -- 错误修复 -- InnoDB ------

information_schema.global_status 表中 innodb_buffer_pool_pages_total 和 innodb_buffer_pool_pages_misc 的值可能计算不正确。 (漏洞 #52983)

有可能您的两个 SELECTs 没有真正完成相同的数据。开始时可能更安全

SELECT  variable_value TotalPages
FROM information_schema.global_status
WHERE variable_name LIKE 'Innodb_buffer_pool_pages%'

我检查了 150 多台服务器,发现了另外一个您提到的异常情况。

关于mysql - 缓冲池使用百分比查询返回无效结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55976202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com