Ограничение на открытые соединения nettcpbinding - PullRequest
3 голосов
/ 08 февраля 2012

Итак, я понимаю, что это довольно загруженный вопрос, но вот что я пытаюсь измерить.

У меня есть сервер, который принимает TCP-соединения с надежным сеансом через WCF и открывает канал обратного вызова дляклиент.В 99,999% случаев он просто подключен, ожидая, пока сервер выполнит обратный вызов (ничего не обрабатывает, просто поддерживает соединение).

Какие узкие места для каждой машины я получу?Я уже обработал атрибуты WCF <servicethrottling /> в привязке, но только с точки зрения загрузки / макс. / "Все, что мне не хватает", я пытаюсь понять, сколько клиентов может обслуживаться в Azure.Небольшой экземпляр, учитывая, что в целом эти парни будут сидеть сложа руки, просто ожидая.

1 Ответ

1 голос
/ 08 февраля 2012

Если вы открываете исходящие соединения, вам может понадобиться увеличить

ServicePointManager.DefaultConnectionLimit

в коде роли OnStart () вашей роли.Я не могу вспомнить значение по умолчанию, но я полагаю , это 12.

Пока вы на нем, с тем же успехом можно подумать о настройке

ServicePointManager.UseNagleAlgorithm

до false, если вы отправляете много коротких сообщений (до 1400 байт).В противном случае сообщения буферизуются до полсекунды.Я дал немного больше подробностей о Нагле в этом ТАКОМ ответе .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...