Я устанавливаю TCP-сервер WCF NET.Пока что у меня все хорошо с несколькими связями.Но поскольку я решил провести стресс-тестирование, я обнаружил некоторые проблемы.С клиентом, запускающим потоки, я получаю 128 успешных подключений, но на 129-м подключениях я получаю:
исключение слишком занятых серверов.
Я уже изменил maxConnectionsдо 1000 на привязке.Я уже изменил значения maxConcurrentCalls, maxConcurrentSessions, maxConcurrentInstances на 5000 (только для тестирования) в serviceThrottling.
Мое связывание:
<binding name="netTcpClientsBindingConfig" transferMode="Buffered" maxReceivedMessageSize="50242880"
closeTimeout="00:05:00" openTimeout="00:05:00" receiveTimeout="00:05:00"
sendTimeout="00:05:00" maxConnections="1000">
Моя конфигурация поведения:
<behavior name="mexClientsBehavior">
<serviceThrottling
maxConcurrentCalls = "5000"
maxConcurrentSessions = "5000"
maxConcurrentInstances = "5000"
/>
Я ожидаю принять не менее 1000 соединений.
Здесь есть одно ограничение (я верю в это! Пожалуйста, кто-нибудь может исправить меня, если есть другое решение):
Мне нужно сохранитьсоединение ОТКРЫТО, потому что мой сервер может связаться с клиентом через обратные вызовы, чтобы отправить информацию, о которой клиенты должны знать как можно скорее.Если соединение закрыто, я не могу повторно открыть на стороне сервера, или я могу?Это было бы решением.