Производительность long-polling

Рейтинг: 0Ответов: 1Опубликовано: 01.02.2015

Если организовать long-polling через EventSource и сервера на node.js например (на самом деле любая реализация), что будет с производительностью и потреблением ресурсов при большой нагрузке? Например, 1000000 подключений - получается 1000000 перманентных соединений. Не будет ли производительнее решение с отправкой запросов по тайм-ауту каждые 3 секунды?

Ответы

▲ 2Принят

Нет, не будет, т.к. установка соединения - жирная операция (вы же можете в EventSource передать не одно событие), то что будет потребляться на сервере - память (1М на вес объекта соединения), но - если у вас есть 1М одновременных соединений, то у вас уже есть приличный доход, как минимум достаточный чтобы купить ещё памяти, кроме того, вы можете исхитриться и использовать несколько серверов. В случае миллиона запросов, каждые 3 секунды, вы будете в пике потреблять сеть (более дорогой ресурс) и проц (тоже не из дешевых). Причем звезды могут так сойтись, что к вам на сервер будут ломиться 100тыс в течении одной миллисекунды... а это уже совсем другой уровень. Но вообще, я бы не советовал вам eventSource - используйте вебсокеты, это проще.