Какое максимальное количество одновременных HTTP-соединений разрешено на одной машине (Windows Server 2008) с использованием Python - PullRequest
3 голосов
/ 14 июля 2009

Если говорить более конкретно, я использую python и создаю пул HTTPConnection (httplib), и мне было интересно, есть ли ограничение на число одновременных HTTP-подключений на сервере Windows.

Ответы [ 2 ]

3 голосов
/ 14 июля 2009

Согласно HTTP RFC , клиент не должен поддерживать более двух одновременных подключений к веб-серверу или прокси.Тем не менее, большинство браузеров не соблюдают это - Firefox 3.5 допускает 6 на сервер и 8 на прокси.

Короче говоря, вам не следует открывать 1000 подключений к одному серверу, если ваше намерение не , чтобы повлиять на производительность сервера.Стресс-тестирование вашего сервера было бы хорошим законным примером.


[Редактировать]
Если вы говорите о прокси, то это немного другая история.Я предлагаю использовать пул соединений.Выясните, сколько одновременных соединений дает вам наибольшее количество запросов в секунду, и установите жесткий лимит.Дополнительные запросы просто должны ждать в очереди, пока пул не освободится.Просто имейте в виду, что по умолчанию один процесс обычно ограничен 1024 дескрипторами файлов.

Просмотрите mod_proxy apache , чтобы узнать, как с этим справиться.

2 голосов
/ 14 июля 2009

AFAIK, количество интернет-сокетов (необходимых для соединений TCP / IP) естественно ограничено на каждой машине, но оно довольно велико. 1000 одновременных соединений не должны быть проблемой для клиентского компьютера, так как каждый сокет использует только мало памяти. Если вы начнете получать данные по всем этим каналам, это может измениться. Я слышал о тестовых настройках, которые создавали пару тысяч соединений одновременно из одного клиента.

История обычно отличается для сервера, когда он делает тяжелую работу для каждого входящего соединения (например, отключение рабочего процесса и т.д.). 1000 входящих подключений будут влиять на его производительность, и исходящие от того же клиента они могут быть легко приняты для атаки DoS. Я надеюсь, что вы отвечаете как за клиента, так и за сервер ... или это одна и та же машина?

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