Количество соединений клиентов .Net
Май 23, 2009 – 11:56 дпНедавно был закончен один проект и встала задача нагрузочного тестирования разработанной системы. В связи с этим была разработана простенькая программа, задача которой была обращаться к удаленной системе с некоторыми входными данными. Написанный код был запущен в 1000 потоках для имитации массового наплыва клиентов. Однако весьма скоро было замечена странное поведение – клиент использовал не более 2-х соединений, при этом на удаленной стороне IIS был настроен корректно, т.к. 2 таких клиента использовали уже 4 соединения. В следствие долгих поисков и отладки проекта было выяснено следующее: по умолчанию .net framework ограничивает кол-во соединений в количестве 2 штук к каждой конечной точке (домен+порт).
Лечится это достаточно просто в конфигурации:
<system.net>
<connectionManagement>
<add address="*" maxconnection="1000"/>
</connectionManagement>
</system.net>
Подробнее о данной особенности можно узнать в MSDN: http://msdn.microsoft.com/en-us/library/fb6y0fyc.aspx