Как Node.js работает по сравнению с Apache?

Является ли Node.js более быстрым и масштабируемым, чем Apache? Существуют ли какие-либо показатели производительности, подтверждающие производительность Node.js для веб-приложения через Apache?

ОБНОВЛЕНИЕ: Хорошо, возможно, мой вопрос (выше) сбивает с толку, потому что я немного запутался в том, как Node.js находится в веб-стеке. При каких обстоятельствах я должен рассмотреть возможность использования Node.js вместо более традиционного стека, такого как PHP, MySQL и Apache, или Node.js играет свою роль в этом стеке?


person Gcoop    schedule 28.07.2010    source источник
comment
Быстрее для чего? Какой тип веб-приложения вы собираетесь обслуживать?   -  person meder omuraliev    schedule 29.07.2010
comment
На этот вопрос практически невозможно ответить вне контекста конкретного теста.   -  person Adam Crossland    schedule 29.07.2010
comment
Эта статья может помочь ответить на ваш вопрос: al3x.net/2010/07/27/ узел.html   -  person Jason Hall    schedule 29.07.2010
comment
Спасибо, эта статья определенно помогла.   -  person Gcoop    schedule 29.07.2010


Ответы (2)


Node.js — это платформа, особенно хорошо подходящая для написания высокопроизводительных веб-приложений без необходимости понимать, как реализовать параллелизм на низком уровне. Это платформа для написания серверных приложений JavaScript с использованием неблокирующего ввода-вывода: передача продолжений вызовам ввода-вывода, а не ожидание результатов. Node.js предоставляет системный API (доступ к файловой системе, доступ к сети и т. д.), где все вызовы API принимают продолжение, которое среда выполнения будет выполнять позже с результатом, а не блокировать и возвращать результат исходному вызывающему объекту.

Вы можете использовать сам по себе, если хотите. Но вам может понадобиться выделенный обратный прокси-сервер перед Node.js: что-то вроде Apache, Nginx, LigHTTPD и т. д. Или, для кластеризации более крупного приложения, вам может понадобиться что-то вроде HAProxy перед несколькими работающими серверами приложений Node.js.

person yfeldblum    schedule 31.07.2010
comment
@agnoster Спасибо за ваш комментарий - я изменил свой ответ. - person yfeldblum; 06.11.2010
comment
Спасибо за ваш отзыв! Единственный другой комментарий, который я хотел бы дать, заключается в том, что по техническим причинам, если вы хотите запустить обратный прокси-сервер перед Node.js, и вы используете socket.io, вы захотите обойти большинство из них для связи через веб-сокет. . - person agnoster; 06.11.2010
comment
В чем преимущество обратного прокси? Предназначена ли серверная функциональность Node больше для легкого тестирования и менее безопасна/производительна, или просто у других вещей есть функции, которые нужны людям, которых нет у базового сервера Node? - person Erik Reppen; 25.02.2013

Недавний (28 июля, опубликованный 30) Google Tech Talk о Node.js где есть несколько показателей производительности и где он также говорит о масштабировании.

person Tor Valamo    schedule 31.07.2010