zsdnishishui的博客

唯有创造才是“真”

Springboot项目和node项目的性能对比

硬件

windows系统,12核16G内存

软件

1.简单的springboot项目

@GetMapping("/demoStr")
@ResponseBody
public Map demoStr() {
  return new HashMap();
}

2.node项目

https://github.com/mosliu/echarts5-canvas-ssr

JMeter压测

  1. 200的并发

springboot表现如下

img

node的表现如下

img

可见node稳如老狗

/2. 300的并发

springboot的表现如下,可见有的请求开始出现错误了

img

node的表现如下,可见cpu虽然稳如老狗,但是错误率开始直线上升

img

结论

高并发下,java后端比node要吃资源,但是稳定性上要强一些。

通过分布式的部署方式可以大大改善node项目的缺陷,所以node项目更适合于分布式部署,毕竟它对资源的消耗是要小很多。

备注

有的同学会说node可以用多进程模式,来充分利用cpu的多核,但是经测试(300并发),作用不大

img

以下是通过nginx做的负载均衡,部署两套node项目(只是端口不一样),可见300的并发还是很稳

img

所以还是建议使用分布式部署方式