node.js php,Node.js比PHP快14倍!

我们都知道Node.JS一直很火也很强,其实很少人明白Node.JS到底强在哪里?

Node.JS在涉及堵塞源读写方面要比PHP快十多倍,从某种程度看,Node.JS与PHP相比有点不是一个级别,Javascript和PHP相比可能更合适,Node.JS是一个Web框架,其比PHP在涉及堵塞读写上要快,并不是Javascript语言比PHP快,而是Node.js处理堵塞源的方式比较高朝。

所以,这不是简单语言细节之争,而是语言框架之争。将Node.JS这种异步机制从Javasctipt搬移到其他语言PHP .NET Java其实都会取得比原来堵塞方式有数十倍提高。

通常过去我们提升性能的思路是着重细节,比如Java提供Socket和文件等堵塞的NIO,那么是不是使用Java做一个上面的Web应用,性能能跑过Node.JS呢?未必。

再进一步,Java等提供线程的并发能力很强,而Node.JS只是单线程,涉及堵塞源的读写时,我们使用多线程并发能力是否能性能胜过Node.JS呢?也未必,这也是将并发能力用错了地方,堵塞源读写本身是一种序列号串行操作。

Node.js强项不是在内部细节,而是在其高度,以及贴近Web应用这有的场景。Node.JS是一个平衡各个堵塞源的框架,而不是具体解决某个堵塞源的框架。

我曾经用红绿灯打比喻,一条大路上有多个红绿灯,如何保证这条大路上的车辆能更畅通通行呢?Node.JS的解决办法就是设法在车辆靠近每个红绿灯时都依次变成绿灯。而NIO或并发编程等解决办法则只是侧重红绿灯本身的改造提升。红绿灯路口类似各个堵塞源,比如Http Socket端口读写, 文件磁盘读写,数据库读写等等,我们很多时候侧重这些堵塞源内部性能微调,直至研究Linux的TCP协议,这是一种向内部向底层挖掘的思维方式。

Node.JS这种宏观异步事件处理机制,其核心是相当于一个事件队列,说白一点,相当于RabbitMQ这些消息系统或BUS等消息总线,我们已经体会过在大型分布式系统中消息中间件如何调度多个服务器之间的效率,同理,Node.JS将这种调度机制搬移到一台服务器内部,将服务器的Socket 文件读写等看成是一个堵塞式的独立服务器。

Node.JS的威力是异步机制和事件驱动的架构设计魅力,现在流行的Reactive编程是将这种设计进行了推广。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值