Опция thread_cache_size указывает MySQL как много потоков создать при старте и не удалять в дальнейшем, опция позволяет улучшить быстродейстивие.
Процессы MySQL выполняются в потоках (thread) — поток создается каждый раз когда клиентом выполняется запрос к базе, такое поведение является стандартным и не доставляет никаких неудобств при сравнительно небольших нагрузках.
Однако, как только обращений клиентов становится очень много появляются проблемы с быстродействием и появляется нагрузка на сервер, создаваемая MySQL. Причиной является создание и удаление большого количества потоков.
Данное поведение можно оптимизировать подобрав значение параметра thread_cache_size для MySQL. Как и любые другие опции параметр задается в конфигурационном файле /etc/mysql/my.cnf
Если указать, что значение должно быть равно 64 — MySQL при старте создаст 64 потока и ему не потребуется создавать их при поступающих запросах, а также удалять.
Установка значения глобальной переменной thread_cache_size
В /etc/mysql/my.cnf (или один из файлов подключаемых в нём) в блок [mysqld ]добавляем следующую директиву:
thread_cache_size = 64
Затем перезапускаем сервер баз данных
systemctl restart mysql
Также значение может быть задано непосредственно в консоли сервера баз данных как глобальная переменная:
mysql -u root -p
Далее сервер запросит пароль root MySQL, вводим его. Затем выполняем:
SET GLOBAL thread_cache_size = 64
Это значение будет действовать до перезапуска сервера баз данных или перезагрузки сервера.
Посмотреть установленное (или существующее значение переменной) можно выполнив:
SHOW GLOBAL STATUS LIKE 'Threads_created';
На полученный результат и стоит ориентироваться при выборе необходимого значения рассмотренного параметра.
Читайте про оптимизацию настроек MySQL