node.js параллелизм - PullRequest
       21

node.js параллелизм

5 голосов
/ 18 ноября 2010

Я новичок в node.js.Я тестирую socket.io для обмена сообщениями в реальном времени.Я люблю это, и я хочу использовать.У меня вопрос.Сколько параллелизма может работать на сервере Node.js?Наша программа будет примерно 100 параллельных.Итак, я беспокоюсь об этом.

Я нашел другой сервер обмена сообщениями в реальном времени, APEКакой из них лучше ?Я люблю node.js, потому что его легко выучить и легко написать.Но я не смог найти обсуждение параллелизма на сервере node.js.Моя компания-друг использует APE и может контролировать около 2000. Итак, я хочу знать о сервере node.js.

Ответы [ 2 ]

12 голосов
/ 18 ноября 2010

Без каких-либо тестов, подтверждающих это - поскольку оба они основаны на событиях (например, epoll в Linux), я бы предположил, что вы увидите сопоставимые результаты для обоих (как минимум 10K одновременных пользователей). При этом частота сообщений, скорее всего, будет зависеть гораздо больше, чем количество одновременных подключений, поскольку именно здесь реализации действительно различаются.

Реальный пример и обсуждение производительности Comet для node.js можно найти в отличном посте Амира Салихефендика: http://amix.dk/blog/post/19577 (вы можете перейти по ссылкам в этом посте и к другим фантастическим постам) .

Обратите внимание, что одна из написанных им версий была на C с использованием libevent (epoll), что также используется в APE. Также обратите внимание, что на сайте APE утверждается, что он может обрабатывать более 100 000 одновременно работающих пользователей.

Если вы действительно хотите понять связанные с этим проблемы, вам может показаться интересной известная статья "Проблема C10K" (выполните поиск в Google по запросу "Проблема C10K").

В конце концов, это, вероятно, сводится к тому, сколько запросов в секунду вы ожидаете, и сколько у вас машин, и на каком языке вы предпочитаете кодировать. Если вы ожидаете только около 100 одновременно работающих пользователей, я думаю, вы все будет в порядке, используя любую платформу, которую вы хотите. Тем не менее, я настоятельно рекомендую использовать node.js - просто для удовольствия, если ничего больше. : -)

1 голос
/ 06 октября 2011

Я не знаю, но, глядя на результаты тестов, я пока не уверен, что буду использовать node.js

Сравнительный анализ производительности node.js (кластера) с пулами mysql: Lighttpd + PHP?

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