我将打开的表缓存设置为 1800,总共有 1112 个表。MySQL Tuning Primer 报告说我的表缓存已使用 100%,但我的表缓存命中率为 5%。我知道这是由于并发连接导致所有打开的表。我想我应该提高缓存限制。我知道缓存大小受操作系统的文件描述符限制,但还有其他我应该注意的实际限制吗?
在 Google 或本网站上搜索,得到的大多是解释连接因素或给出不确定答案的帖子。
我的问题:我可以安全地增加打开表缓存限制吗?有最大值吗?
答案1
确保 open_files_limit 是 table_open_cache 值的 2 倍到 3 倍。
举个例子,我有以下值:
open_files_limit = 30000
table_open_cache = 10000