作为一个服务器,node.js 是性能最高的吗

 我来答
就烦条0o
2016-06-21 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
Nginx最主要的功能是反向代理,负载均衡,是为其他web server服务的。而node.js一般是作为web server使用的,两者的用途不一样,两者的性能比较意义不大。

Nginx因为其功能简单,没有太复杂的逻辑,主要解决的I/O (socket)的资源占用(内存,线程)而出名的,它的改进对比对象应该是apache httpd与IIS。

node.js基于javascript引擎,是看中了javascript引擎本身没有设计I/O库,从而可以在上面设计基于事件的异步I/O。Web应用最大的瓶颈在于I/O,node.js的事件异步I/O设计带来的高的吞吐量,同样的资源下能处理更多的请求。

但node.js的性能不是最高的,因为javascript引擎的关系,node.js默认是单线程,一个node.js应用无法利用多核资源。不过有第三方库提供多线程支持,但不是无缝的。

node.js是解决I/O瓶颈的(相对于传统技术,同步阻塞调用浪费线程), 它并没有提高I/O速度,只是资源调度更高效。如果I/O速度不解决,node.js只能说能同时处理好多request,但每个request的响应时间还是那么长,甚至更长。

由于它是单线程,复杂一点的javascript运算可能导致整个web server挂住,所以node.js不适合web server中含有复杂计算的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式