首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Opened_tables值和调整表缓存

Opened_tables值和调整表缓存
EN

Database Administration用户
提问于 2020-04-03 10:10:47
回答 1查看 215关注 0票数 0

我一直在阅读如何提高我的数据库的性能,并遇到了一些叫做table-open-cacheOpened_tables的东西。MySQL医生告诉我如下:

Opened_tables已打开的表数。如果Opened_tables很大,那么您的table_open_cache值可能太小。

来源

大是什么意思?有多大足够大来增加缓存?好的,我正在检查,打开了多少张桌子,然后看到:

代码语言:javascript
运行
复制
 ---------------+--------+
| Variable_name | Value  |
+---------------+--------+
| Opened_tables | 711353 |

我正在将table-open-cache提高到32768 (实际上,以前只有2000年),而opened_tables仍在增长。

一小时后,opened_tables几乎是750000岁。

20小时后,它是754000,所以增长明显放缓,但仍在继续。

而且,Open tablesmysqladmin status中的数量似乎已经停止增长,或者几乎停止了。嗯,它还是每5分钟增加1次左右。

目前,mysqladmin status告诉我如下:

代码语言:javascript
运行
复制
Opens: 754575  Flush tables: 1  Open tables: 19725  Queries per second avg: 57.912
Opens: 754578  Flush tables: 1  Open tables: 19725  Queries per second avg: 57.912
Opens: 754585  Flush tables: 1  Open tables: 19725  Queries per second avg: 57.912
Opens: 754589  Flush tables: 1  Open tables: 19725  Queries per second avg: 57.912

我连续4次调用它,因此您可以看到,Open tables没有增长,但是Opens在增长。

如果Open tables仍然远离大约21小时前设置为32768的table_opened_cache值,它怎么会发生呢?

你能给我一些关于调整这个值的建议,并解释一下我在这个时候得到的结果吗?

我有大量的RAM用于我的目的,并将表缓存增加到32k,使服务器使用400 my的内存,但我仍然有14 my的空闲内存。

在这点上,我应该作出甚麽结论呢?

EN

回答 1

Database Administration用户

发布于 2020-04-12 20:19:35

通过Uptime潜入D1以每秒打开表。但即便如此,也不是很有用。

更有用的是SHOW GLOBAL STATUS LIKE 'table_open_cache%';的3个值--每秒有几次遗漏或溢出是值得注意的。

还有许多其他的度量标准;提供Wilson提到的数据;请参阅可以进一步挖掘。

启动后只有一个FLUSH TABLES?别小题大作。

mysqladmin status没有提供多少有用的信息。

请注意,STATUS中的值有不同的口味,有许多不同的味道:

  • 计数器-自启动以来单调增加。在大多数情况下,除以正常时间是合适的。例: Opened_tables;Com_%。
  • 高水区--例如: Max_used_connections
  • 当前值--例如: Threads_running (通常为1,即获取值的查询)
票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/264235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档