Сколько клиентов могут обрабатывать серверы одновременно? - PullRequest
3 голосов
/ 20 февраля 2011

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

То естьоткрытие TCP-соединения и его поддержка, скажем, в течение трех часов.

Существует ли жесткое ограничение (установленное операционной системой, протоколами и т. д.) на количество возможных соединений одновременно?

Кроме того, какие накладные расходы это будет иметь на сервере?если 10000 клиентов будут подключаться с использованием TCP и поддерживать это соединение (при условии, что TCP имеет свою собственную функцию keepalive) в течение 3 часов, будет ли сервер обрабатывать что-либо, кроме keepalive, действий подключения и отключения?

1 Ответ

4 голосов
/ 20 февраля 2011

Я писал об этом здесь: http://www.serverframework.com/asynchronousevents/2010/12/one-million-tcp-connections.html

В Windows существуют ограничения по ресурсам, которые могут вызвать проблемы, но 10000 подключений легко.Фактически, я запустил более 70 000 подключений на довольно низкой спецификации ВМ, подробности см. Здесь http://www.lenholgate.com/blog/2005/11/windows-tcpip-server-performance.html.

Скорее всего, это будет то, что вы делаете в ВАШЕМ коде, который ограничиваетКоличество подключений, которые вы можете обработать, современная операционная система будет легко обрабатывать больше, чем вы можете в своем коде.

...