Рубріки: HighloadТеория

thread_cache_size в Mysql

Ігор Грегорченко

Когда новый клиент устанавливает соединение с Mysql, Mysql открывает создает новый тред (thread) для этого клиента. В средах с больших количеством клиентов и соединений, создание и удаление тредов становится дорогой операцией. Для того, чтобы оптимизировать этот процесс, существует настройка thread_cache_size. Вместо постоянного создания и удаления, Mysql может сохранять неактивные треды в кеш (и использовать в случае необходимости).

Параметр thread_cache_size определяет максимальное количество тредов в кеше.

По умолчанию, эта настройка выключена. Значение стоит выбирать не менее значения, которое указано в max_connections (устанавливается в my.cnf):

max_connections = 128
...
thread_cache_size = 128

Значение не меньше max_connections

Этот параметр также можно устанавливать без перезагрузки:
mysql> SET GLOBAL thread_cache_size = 128;

Чтобы определить необходимость изменение значения этого параметра, нужно получить значение созданных тредов:
mysql -e "SHOW GLOBAL STATUS LIKE 'Threads_created';"

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| Threads_created | 12    |
+-----------------+-------+

Threads_created должен быть меньше нескольких сотен

Если значение больше, чем 100, thread_cache_size стоит увеличивать (на 8…16 единиц). Эту проверку стоит периодически повторять.

Этот текст был написан несколько лет назад. С тех пор упомянутые здесь инструменты и софт могли получить обновления. Пожалуйста, проверяйте их актуальность.

Останні статті

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024