Как увеличить table_open_cache
Первым делом нужно понять сразу до каких значений нужно увеличивать, чтобы не тратить время на постепенное увеличение как везде рекомендуют. В этом нам поможет формула кеша открытых таблиц:
$calc['table_cache_hit_rate'] = round($stat['Open_tables'] / $stat['Opened_tables'] * 100, 2);
Например, у вас через 11 дней такая ситуация, кеш вымывается:
Opened_tables-994628
Open_tables-196398
Кеш открытых таблиц 19.75%
При этом table_open_cache 65000, по формуле уже сразу видно, что нужно увеличить минимум в пять раз, т.е. до 325 000. Поэтому смело можно увеличивать open_files_limit до 750 000.
Значение выставляем в systemd:
/etc/systemd/system/mysql.service.d
в файле nofile.conf
[Service]
LimitNOFILE=750000
После этого периодически смотрим параметры кеша открытых таблиц, у меня на 28 день было 80%
Ещё статьи:
02.04.2026
Разговоры о фрилансе
Предыстория - автор вопроса хочет войти в IT сферу, я человеку начал подсказывать в комментариях на форуме. На примере вопросов и ответов в разговоре можно увидеть типовые ошибки и непонимание начинающего, и в будущем избежать повторения ошибок.
21.03.2026
PHP файловый менеджер
Попался мне такой PHP файловый менеджер, вполне функциональный, выкладываю в копилку скриптов
21.03.2026
Ошибка CUser::IsAuthorized() cannot be called statically
Такая ошибка старых весрий битрикс давно известна. Нужно заменить CUser::IsAuthorized() на $USER->IsAuthorized(), но в моём случае я сначала не смог найти место, где же находится проблема.

