Я использую сценарий tuning-primer.sh для настройки параметров my.cnf. У меня большинство вещей работает хорошо, но часть о ТАБЛИЧНОМ КЭШЕ не имеет смысла:
ТАБЛИЧНЫЙ КЭШ Текущее значение table_cache = 900 таблиц.
Всего у вас 0 столов. У вас 900 открытых столов.
Текущая частота попаданий table_cache составляет 1%, в то время как используется 100% кеш-памяти вашей таблицы.
Вероятно, вам следует увеличить свой table_cache
Когда я делаю ПОКАЗАТЬ СТАТУС; Я получаю следующие числа, относящиеся к таблице:
Open_tables = 900
Opened_tables = 0
Кажется, что-то не так. У меня есть дополнительная память, которую я мог бы использовать для увеличения размера table_cache, но я чувствую, что уже доступные 900 таблиц ничего не делают, и их увеличение просто тратит больше энергии.
Почему это могло происходить? Существуют ли другие настройки, которые могут привести к использованию всех моих слотов table_cache, даже если к ним нет обращений?
У меня 150 макс соединений и, вероятно, не более 4 таблиц на соединение, FWIW.
Вот вывод сценария настройки для временных таблиц, который я также настраивал:
ТАБЛИЦЫ ТЕМП.
Текущий max_heap_table_size = 90 M
Текущий tmp_table_size = 90 M
Из 11032358 временных таблиц 40% были созданы на диске.
Возможно, вам следует увеличить tmp_table_size и / или max_heap_table_size, чтобы уменьшить количество временных таблиц на диске.
Заметка! Столбцы BLOB и TEXT не допускаются в таблицы памяти.
Если вы используете эти столбцы, повышение этих значений может не повлиять на соотношение временных таблиц на диске.
TABLE CACHE Текущее значение table_cache = 900 таблиц, это будет итог для всех ваших 150 подключений. Если я хорошо помню, каждое соединение использует свой table_cache