Нашел интересный баг
ваш скрипт авто конфигурации MySQL8 работает хорошо за исключением одного параметра thread_cache_size он всегда БОЛЬШЕ max_connections
что при некоторых нагрузках вызывает ошибку 1040, to many connections
все дело в том, что
треды создаются и уходят в кеш, пользователи заходят на B24 волнообразно и когда запущено скажем 50% от max_connections и еще в кеше какое то чило получаем ошибку 1040
фиксится просто max_connections в должен быть минимум в два раза больше чем thread_cache_size
max_connections=256, thread_cache_size=64 расчитал новые значения кеширования для VM c 16Gb, но с учетом количества сессий и все стало норм.
[URL=https://releem.com/tools/mysql-memory-calculator]https://releem.com/tools/mysql-memory-calculator[/URL]
а лучше перестичать как положено [URL=https://dev.mysql.com/blog-archive/mysql-connection-handling-and-scaling/]https://dev.mysql.com/blog-archive/mysql-connection-handling-and-scaling/[/URL]
при 85 коннектах [URL=https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_thread_cache_size]thread_cache_size[/URL] должен быть = 8-16, а у вас 128... в принципе закешировать сколько потов нельзя тк max_connections меньше
Значение [URL=https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_thread_cache_size]thread_cache_size[/URL] по умолчанию рассчитывается как 8 + (max_connections / 100) и редко изменяется. Может иметь смысл попробовать увеличить кэш потока в случаях, когда количество соединений колеблется между очень малым количеством соединений и большим количеством соединений.
ваш скрипт авто конфигурации MySQL8 работает хорошо за исключением одного параметра thread_cache_size он всегда БОЛЬШЕ max_connections
что при некоторых нагрузках вызывает ошибку 1040, to many connections
все дело в том, что
треды создаются и уходят в кеш, пользователи заходят на B24 волнообразно и когда запущено скажем 50% от max_connections и еще в кеше какое то чило получаем ошибку 1040
фиксится просто max_connections в должен быть минимум в два раза больше чем thread_cache_size
max_connections=256, thread_cache_size=64 расчитал новые значения кеширования для VM c 16Gb, но с учетом количества сессий и все стало норм.
[URL=https://releem.com/tools/mysql-memory-calculator]https://releem.com/tools/mysql-memory-calculator[/URL]
а лучше перестичать как положено [URL=https://dev.mysql.com/blog-archive/mysql-connection-handling-and-scaling/]https://dev.mysql.com/blog-archive/mysql-connection-handling-and-scaling/[/URL]
при 85 коннектах [URL=https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_thread_cache_size]thread_cache_size[/URL] должен быть = 8-16, а у вас 128... в принципе закешировать сколько потов нельзя тк max_connections меньше
Значение [URL=https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_thread_cache_size]thread_cache_size[/URL] по умолчанию рассчитывается как 8 + (max_connections / 100) и редко изменяется. Может иметь смысл попробовать увеличить кэш потока в случаях, когда количество соединений колеблется между очень малым количеством соединений и большим количеством соединений.