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压测
- 200的并发
springboot表现如下
node的表现如下
可见node稳如老狗
/2. 300的并发
springboot的表现如下,可见有的请求开始出现错误了
node的表现如下,可见cpu虽然稳如老狗,但是错误率开始直线上升
结论
高并发下,java后端比node要吃资源,但是稳定性上要强一些。
通过分布式的部署方式可以大大改善node项目的缺陷,所以node项目更适合于分布式部署,毕竟它对资源的消耗是要小很多。
备注
有的同学会说node可以用多进程模式,来充分利用cpu的多核,但是经测试(300并发),作用不大
以下是通过nginx做的负载均衡,部署两套node项目(只是端口不一样),可见300的并发还是很稳
所以还是建议使用分布式部署方式