Какое максимальное количество одновременных tcp/ip-соединений Windows?

в .NET я уже пробовал конфигурацию ниже успешно:

  <system.net>
    <connectionManagement>
      <add address="*" maxconnection="100"/>
    </connectionManagement>
  </system.net>

используя 100 параллельных HttpWebRequest, они ответили почти одновременно (менее секунды).

интересно, почему некоторые люди написали на некоторых форумах, что Windows XP и Windows Server 2008 ограничивает это число 15 или 20. Они правы?

4 ответов


Это может быть потому, что люди путают количество входящих SMB-соединений с количеством TCP/IP-соединений. SMB используется для совместного использования файлов и различных других вещей и ограничивается 10 подключениями в клиентских ОС Windows.

http://support.microsoft.com/kb/328459


клиентские версии Windows ограничены числом полуоткрытых соединений. Предел 10 для XP хорошо известен, Vista имеет другие ограничения в зависимости от версии (например, Home Basic имеет предел 2, Ultimate имеет 25). Вы можете Google "патч для события ID 4226", чтобы облегчить эти ограничения. Сообщение Vista SP2 поведение настраивается через раздел реестра.

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

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

автор сообщает, что видел 50.000 + параллельных подключений к IIS6 на ws03sp1 x64 с 4GB RAM.


существуют ограничения на подключение к незавершенным (новым) соединениям. IIRC, это было включено в обновление несколько лет назад в качестве эксперимента по сокращению распространения определенных типов вредоносных программ. Вы можете смело снять это ограничение:

http://technet.microsoft.com/en-us/magazine/2007.12.network.aspx


это низкое число, которое вы упомянули, относится только к" полуоткрытым " соединениям? Я не знаю подробностей, но помню, что читал что-то об этом.

Поиск Google