Как увеличить table_open_cache

Как увеличить table_open_cache

Опытным путём пришел к выводу, что значение table_open_cache похоже на то, что это 50% от open_files_limit

Первым делом нужно понять сразу до каких значений нужно увеличивать, чтобы не тратить время на постепенное увеличение как везде рекомендуют. В этом нам поможет формула кеша открытых таблиц:
$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%

28 day -80%.png


Ещё статьи:

12.10.2020 Три золотых правила перед обновлением битрикс
Довольно часто банальное обновление приводит к ошибкам и потере работоспособности сайта битрикс. Чтобы потом не тратить своё время и нервы следует соблюдать три простых правила: 1. проверка системы, исправление ошибок, Оптимизация и проверка таблиц бд ID: 308

09.10.2020 Операторы сравнения для getList
Полный список операторов сравнения, которые можно использовать в выборке getList в так называемом фильтре ID: 306

22.09.2020 Отладка ошибок битрикс модулей
Часто не понятно с чем связана ошибка модуля и каких ему в реальности не хватает входных параметров, так как в документации об этом может быть не сказано.
Для этого есть два способа. ID: 256

© 2015-2020 Web админ
Связаться по WhatsApp