nodejs高并发运行效率如何?

新手上路,请多包涵

nodejs高并发运行效率如何啊?

阅读 4.6k
3 个回答

看你的应用场景:
1:Node.js以单线程异步IO著称,擅长IO密集型操作,业务上不涉及大量的计算,压缩,加解密等CPU密集型的处理,nodejs高并发运行效率是没问题的。
2:js运行是单线程的,但是node.js应用也有自己的多进程(cluster和child_process)和多线程(worker_threads)方案,来弥补单线程某些方面的不足。
3:上面的说也很空,可以看下这篇文章,上面讲的更加详细,也有列举和nginx等其他工具的并发效率的对比,比较直观。

nodejs在处理高并发上有天然优势吧,这个优势主要是nodejs可以把请求的response函数直接当回调参数一路传递给整个请求处理的所有阶段,这句话也只是我个人理解,推荐你看看《深入浅出nodejs》-朴灵,nodejs处理高并发的主要瓶颈在服务器的请求接受能力方面,如果大量的请求服务器都能接受进来,配合服务器的高性能能让这些请求及时处理,不会挤爆CPU和内存,就没问题。

直接放测试结果
高并发测试结果对比:
Apache、Nginx 与 Node 的对比:请求负载的性能(每 100 位并发用户)
image.png
Apache、Nginx 与 Node 的对比:用户负载能力(每 1000 个请求)
image.png
已参与 「极客观点」 ,欢迎正在阅读的你也加入。