powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Превышение количества используемых сокетов - MySQL
8 сообщений из 8, страница 1 из 1
Превышение количества используемых сокетов - MySQL
    #39361471
nesles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите. Как бороться с проблемой:
Only one usage of each socket address (protocol/network address/port) is normally permitted

Возникает при большом количестве последовательных подключений.
-----

С MYSQL общается только одно приложение локально. (Всё на винде (WIN2008 и WIN10))
Не возникает если задержку в по секунды ставить в некоторых соединениях.
...
Рейтинг: 0 / 0
Превышение количества используемых сокетов - MySQL
    #39361487
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любой сервис ограничен как в количестве сокетов приёма, так и в количестве портов для обращения наружу. Каждое приложение использует некоторый прописанный в нём пул портов (ну например от 50000 до 59999) и последовательно из него выбирает следующий за только что использованным. Если добирается до конца диапазона, снова начинает сначала (список закольцован). И вот если к тому моменту, как на втором витке процесс доберётся до номера порта, который ещё не отпущен с предыдущего витка - будет получено указанное сообщение.
Можно попробовать справиться с проблемой изменением interactive_timeout и wait_timeout.

.
...
Рейтинг: 0 / 0
Превышение количества используемых сокетов - MySQL
    #39361489
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neslesС MYSQL общается только одно приложение локально.А зачем "одно приложение локально" постоянно закрывает и открывает новые соединения с MySQL? Почему оно не может пользоваться одним соединением постоянно?
...
Рейтинг: 0 / 0
Превышение количества используемых сокетов - MySQL
    #39361627
nesles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

К приложению может подключаться множество клиентов в разное время
-----------
Да и некоторые операции требуют установление нового соединения(например получение ID)
...
Рейтинг: 0 / 0
Превышение количества используемых сокетов - MySQL
    #39361778
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neslesК приложению может подключаться множество клиентов в разное времяЭто не мешает приложению держать пул коннектов.
neslesДа и некоторые операции требуют установление нового соединения(например получение ID)Ну если только по причине какой-то кривизны в самом приложении. MySQL такого точно не требует.
...
Рейтинг: 0 / 0
Превышение количества используемых сокетов - MySQL
    #39366308
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaЛюбой сервис ограничен как в количестве сокетов приёма, так и в количестве портов для обращения наружу. Каждое приложение использует некоторый прописанный в нём пул портов (ну например от 50000 до 59999) и последовательно из него выбирает следующий за только что использованным.
Если добирается до конца диапазона, снова начинает сначала (список закольцован). И вот если к тому моменту, как на втором витке процесс доберётся до номера порта, который ещё не отпущен с предыдущего витка - будет получено указанное сообщение.

Ну это враки.
С точки API, номера портов при "активном" подключении через connect без bind выдаются ОС, приложение этим не управляет. Т.е. написать приложение упирающееся в эту проблему в другой ОС нужно еще суметь. А windows вроде бы в районе 4000 сокетов что-то включается.

Кстати, версия ос у вас какая? серверная windows по идее изначально должна как-то эти проблемы решать автоматически. Иначе какой же это сервер
...
Рейтинг: 0 / 0
Превышение количества используемых сокетов - MySQL
    #39366311
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пишут что можно поменять :
https://blogs.msdn.microsoft.com/dgorti/2005/09/18/only-one-usage-of-each-socket-address-protocolnetwork-addressport-is-normally-permitted/

HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\MaxUserPort

А так же предлагают иной метод обойти это в коде - педально-шаговый bind+connect, когда приложение само выбирает номер порта. Вот отсюда, видимо,ноги растут у того странного мнения.
...
Рейтинг: 0 / 0
Превышение количества используемых сокетов - MySQL
    #39366757
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понимаю, описанная проблема существует только для сетевых сокетов.
Если на самом деле "приложение локально" то почему бы не перейти на локальные сокеты (named pipes или как их там) ?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Превышение количества используемых сокетов - MySQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]