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

Вид: 32337|Ответ: 3

[Источник] Оптимизация производительности MySQL задаёт max_connections максимальное количество соединений

[Скопировать ссылку]
Опубликовано 27.08.2021 10:02:14 | | | |
Когда количество клиентов MySQL превышает максимальное количество соединений, драйверы на разных языках сообщают об ошибке «Слишком много соединений».

Ошибка программы Java:

Источник данных отклонил установление соединения, сообщение от сервера: «Слишком много соединений»


Ошибка программы .NET Core:

Слишком много связей
Или, по крайней мере,
ошибка подключения: Тайм-аут истёк.  Период тайм-аута проходил до получения соединения из пула.  Это могло произойти из-за того, что все объединённые соединения были использованы и максимальный размер пула был достигнут.


Используйте следующую команду, чтобы увидеть максимальное количество соединений и текущее количество соединений:



временно установите максимальное количество соединений,Перезапускать MySQL сервер не обязательно, но настройка становится недействительной при перезагрузке сервиса MySQL


Вы можете постоянно установить максимальное количество подключений к базе данных в /etc/my.cnf:


Когда мы устанавливаем максимальное количество соединений и тестируем с помощью .NET-программы, ошибка всё равно будет следующей:

ошибка подключения: Тайм-аут истёк.  Период тайм-аута проходил до получения соединения из пула.  Это могло произойти из-за того, что все объединённые соединения были использованы и максимальный размер пула был достигнут.
Это связано с тем, что .NET-клиенты по умолчанию используют пулы потоков, а максимальный лимит для пулов потоков по умолчанию равен 100

Вход по гиперссылке виден.

МыЗакрыть пул потоков пула, без использования пула потоков нет ограничения, тест проводится одновременно с 500 потоками, и ошибки не сообщаются, как показано на рисунке ниже:



Тестовый код .NET/C# выглядит так:

(Конец)





Предыдущий:Проблема с доступом nginx connect() с 127.0.0.1:8080 не удалось (13: Permission den...
Следующий:Механическая структура клавиатуры и схема
 Хозяин| Опубликовано 30.08.2021 13:16:26 |
Опубликовано 18.12.2021 20:32:19 |
Максимальное количество соединений на пользователя

Опубликовано 19.05.2023 11:34:24 |
Учитесь учиться
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com