赞
踩
Spring Boot 在 Java 生态中备受欢迎,它是一款基于 Java 构建的轻量级服务端框架,主要用于 Web 服务。Spring Boot 的应用使得创建各类基于 Spring 的企业级应用变得异常简单。Node.js作为一种基于Chrome V8引擎的JavaScript运行时环境,在服务端上运行JavaScript代码。它以其独特的特性为我们提供了极其便捷的开发方式,今天小编就为大家对比一下Spring Boot与Node.js之间的性能差异。
硬件:MacBook Pro M1 16g
测试工具:Bombardier
测试并发数:50、100、200
版本:
Node.js v19.6.0
Spring Boot v3.0.2
Java17
import http from "node:http"; http.createServer((req, resp) => { try { if (req.method !== "GET") { return resp.writeHead(405).end(); } if (req.url !== "/") { return resp.writeHead(404).end(); } resp.writeHead(200, { "content-type": "text/plain", }); resp.end("Hello world"); } catch (e) { resp.writeHead(500).end(); } }).listen(3000);
package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.Spring BootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.http.ResponseEntity; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.RestController; @Spring BootApplication @RestController public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @GetMapping("/") public String handleRequest() { return "Hello World!"; } }
测试时,每个并发执行500万请求,对比如下性能指标:
经过对比测试,绘制了如下图表(延迟以毫秒为单位):
资源占用方面,Spring/Java 是一个资源密集型应用,在一个简单的“Hello World”案例中,200并发情况下,Spring 使用了约190%的 CPU 和 470M 的内存。相比之下,Node.js 使用了 95% 的 CPU 和 82M 的内存。
延迟方面,在q75之前,Spring 的延迟低于 Node.js。Spring在最大延迟达到了几秒钟,而Node.js的最大延迟仅 123ms。Spring 的延迟中位数(0.6ms)优于 Node.js(2.5ms)。
总结来看,Node.js 在使用显著较少的系统资源的情况下”吞吐量“(RPS/每秒请求数)更高。
扩展链接:
扩展链接:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。