Максимальное количество подключений tcp / ip в Windows Server 2008

StackOverflow https://stackoverflow.com/questions/1636397

Вопрос

У меня есть .Сетевая служба, которая прослушивает один порт по протоколу TCP.Клиенты подключаются и затем передают данные в течение некоторого времени (от нескольких минут до нескольких часов).

Существует ли какое-либо ограничение на количество подключений к Windows 2008 server?Я не ударил ни по одному, так как сейчас там до 50 пользователей.Планируется, что у нас будут тысячи пользователей, поэтому я хотел бы знать, возникнут ли проблемы в будущем.

Редактировать:
Как ответил Клауд, похоже, что в некоторых версиях Windows Server 2008 существуют некоторые ограничения.Есть ли какие-либо ссылки на эти ограничения?Я попробовал Google, но он возвращает статьи об ограничении на полусвязанные tcp-соединения.

Это было полезно?

Решение

Сколько тысяч пользователей?

В прошлом я запускал несколько тестов подключения клиента / сервера TCP / IP на Windows 2003 Server и управлял более чем 70 000 подключениями на виртуальной машине с достаточно низкой спецификацией.(подробности смотрите здесь: http://www.lenholgate.com/blog/2005/10/the-64000-connection-question.html).Я был бы крайне удивлен, если Windows 2008 Server ограничен менее чем 2003 Server, и, ИМХО, публикация, на которую ссылается Cloud, слишком расплывчата, чтобы быть полезной.Такого рода вопросы возникают часто, я писал в блоге о том, почему я действительно не думаю, что это то, о чем вам действительно стоит беспокоиться здесь: http://www.serverframework.com/asynchronousevents/2010/12/one-million-tcp-connections.html.

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

Если вы хотите запустить некоторые "общие" тесты, вы можете использовать мой тест подключения к нескольким клиентам и связанный с ним echo-сервер.Подробно описано здесь: http://www.lenholgate.com/blog/2005/11/windows-tcpip-server-performance.html и здесь: http://www.lenholgate.com/blog/2005/11/simple-echo-servers.html.Это то, что я использовал для запуска собственных тестов для моей серверной платформы, и это то, что позволило мне создать 70 000 активных подключений на виртуальной машине Windows 2003 Server с 760 МБ памяти.

Отредактировано, чтобы добавить детали из комментария ниже...

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

  1. Используйте бесплатные инструменты, на которые я ссылаюсь , и докажите себе, что вы можете создать разумное количество подключений к вашей целевой операционной системе (остерегайтесь ограничений Windows на динамические порты, которые могут привести к сбой клиентских подключений, поиск для MAX_USER_PORT).

  2. во время разработки регулярно тестируйте свой реальный сервер с помощью тестовых клиентов, которые могут создавать соединения и фактически "что-то делать" на сервере.Это поможет предотвратить создание сервера способами, которые ограничивают его масштабируемость.Смотрите здесь: http://www.serverframework.com/asynchronousevents/2010/10/how-to-support-10000-or-more-concurrent-tcp-connections-part-2-perf-tests-from-day-0.html

Другие советы

Существует ограничение на количество полуоткрытые соединения, но afaik не для активных подключений.Хотя, по-видимому, это зависит от типа сервера Windows 2008, по крайней мере, в соответствии с этот сотрудник MSFT:

Это зависит от версии, веб-версии и версии Foundation имеют ограничения на подключение , в то время как Standard, Enterprise и Datacenter - нет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top