MySQL - Тюнинг thread cache size - кеш тредов клиента при его отключении

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
Версия от 21:33, 19 октября 2021; Admin iph (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Доступная цена

MySQL - Тюнинг thread cache size - кеш тредов клиента при его отключении

Посмотреть текущие значения

1) Threads_cached -  количество трэдов в кеше
2) Threads_connected - количество открытых подключений
3) Threads_running - Сколько тредов сейчас "запущено"
3) Threads_created - Сколько тредов было создано со старта сервера
 Если в кеше нет свободного треда, то он создается. Если кеша нет вообще, то при каждом подключении создается тред. А при отключении убивается. Тоже самое происходит, если кеш тредов слишком маленький. Короче. Если это значение у вас измеряется тысячами, то у вас не все впорядке. Оно должно быть чуть больше Threads_cached в идеальном случае.

можно командами:

# mysqladmin extended-status | grep Threads
| Threads_cached                                         | 6                |
| Threads_connected                                      | 3                |
| Threads_created                                        | 71393            |
| Threads_running                                        | 1                |

или через

mysql > SHOW GLOBAL VARIABLES LIKE 'thread_cache_size';
mysql > SHOW VARIABLES LIKE 'thread_cache_size';
mysql > SHOW GLOBAL STATUS LIKE 'Threads_%';

Если Threads_created на тысячи больше чем Threads_cached, то нужно увеличивать thread_cache_size от 32 до 100, пока значения примерно не сравняются.
Слишком высокое значение thread_cache может необоснованно кушать лишнюю память.

# vi /etc/my.cnf
[mysqld]
thread_cache_size = 32
# systemctl restart mysql

Узнать количество подключений в пиковых нагрузках:

# echo "SHOW GLOBAL STATUS" | mysql | grep Threads_connected | awk '{print $2;}'