ODe*_*lta 5 mysql innodb percona percona-server table
我刚刚发现table_definition_cache
并且我正在尝试决定将其设置为什么。由于性能问题,我弄乱了我的配置。
在一台服务器上,我有 36599 个表,当我运行SHOW GLOBAL STATUS
Opened tables 的值是 930312。table_definition_cache
设置为 20k。
在另一台服务器上,我有 45349 个表,当我运行SHOW GLOBAL STATUS
Opened tables 的值是 94383。table_definition_cache
设置为 40k。
我不确定将它设置为什么table_definition_cache
值,因为服务器似乎做了很多打开/交换。
两台服务器都是 CentOS 6 并且正在运行
服务器版本:5.6.32-78.0 Percona Server (GPL),78.0 版,修订版 8a8e016
感谢您的关注!我非常感谢您的反馈。
小智 7
我希望这个链接可以帮助你决定你的微调。稍后我的回答,抱歉。
我可以使用这些信息解决 5.5 MySQL 版本中的一些问题。
在这里:您可以检查如何计算您的 table_open_cache
open_tables
和opened_tables
mysql> show global status like 'open%';
所有线程的打开表数。增加这个值会增加 mysqld 需要的文件描述符的数量。您可以通过检查 Opened_tables 状态变量来检查是否需要增加表缓存。如果 Opened_tables 的值很大并且您不经常使用 FLUSH TABLES(它只是强制关闭和重新打开所有表),那么您应该增加 table_open_cache 变量的值。
Table cache hit rate = table_open_cache*100/Opened_tables
一般应大于50%。所以你需要增加table_open_cache的值,如果你低于这个值,尽管有很多原因需要Opened_tables的值很高。像 FLUSH TABLES 将关闭所有打开的表并重新打开它,这显着增加了 Opened_tables 值。
Table_open_cache = total_tables*Threads_connected
由于所有线程(用户)一般不会访问所有表。我认为您应该设置计算值的 50%。因为这个变量的值太大会有一些其他的副作用。所以公式变成
Table_open_cache = total_tables*Threads_connected*.50
table_open_cache
您一起还应该调整open_files_limit
系统变量。一般来说,它是 的 2 倍 table_open_cache
。
open_files_limit= Table_open_cache*2
open_files_limit
不是动态变量。所以你应该在 my.cnf 文件中设置它并重新启动 MySQL。确保您的操作系统可以处理
table_open_cache
设置所需的打开文件描述符的数量。
参考 https://techinfobest.com/optimize-mysql-table_open_cache/
在这里:MySQL 文档为我们提供了table_definition_cache
基于table_open_cache
大小设置的公式。(是的,我知道,链接是针对 5.7 版本的,但在 5.5 doc 版本中没有提及公式),因此您需要首先定义 的大小table_open_cache
,这就是我给出上面链接的原因。
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_table_definition_cache
接下来,您必须监视服务器的状态COM_STMT_REPREPARE
并Open_table_definitions
查看服务器中发生的情况。如果您的应用程序正在使用prepared statements
并收到消息error code [1615]Prepared statement needs to be re-prepared
,则表明 MySQL 正在刷新缓存的定义表.. ( https://dev.mysql.com/doc/refman/5.5/en/error-messages-server. html#error_er_need_reprepare )
最后:关于为什么要重新准备 MySQL stmt 的信息
https://dev.mysql.com/doc/refman/5.5/en/statement-repreparation.html
归档时间: |
|
查看次数: |
17940 次 |
最近记录: |