I have my open table cache set to 1800 and I have a total of 1112 tables. MySQL Tuning Primer reports that 100% of my table cache is used yet my table cache hit rate is 5%. I understand that this happens due to concurrent connections all opening tables. I think I should raise the cache limit. I understand that the cache size is limited by the file descriptor limit of my operating system, but are there any other practical limitations I should be aware of?

Searching Google or this very website yields mostly posts explaining the connection-factor or come up with indecisive answers.

My question: can I safely increase the open table cache limit? Is there a maximum?


Ensure that the open_files_limit is 2x - 3x the value of your table_open_cache.

As an example, I have the following values:

open_files_limit = 30000
table_open_cache = 10000
  • Thanks, but my question is not about the open_files_limit but about the table_open_cache. Are there any limitations on that, apart from the open_files_limit? – vincent.io Oct 19 '12 at 16:28
  • Aside from the open_files_limit being set accordingly to accommodate your table_open_cache setting, the only other consideration is that your OS provides enough file descriptors to also accommodate the setting. With less than 2,000 tables you should have absolutely no worry about that. – Daemon of Chaos Oct 19 '12 at 17:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.