alsotang / node-lessons

:closed_book:《Node.js 包教不包会》 by alsotang
16.53k stars 4.7k forks source link

关于node与Java web性能的对比 #131

Closed cncoder closed 7 years ago

cncoder commented 7 years ago

先说明一下测试环境:

两台几乎一样配置的手提,在同一100M局域网

  1. 先测试express 简单的session检测页面,逻辑类似于login页面:

没有使用模板,看到各项性能测试数据还是不错,期间node服务进程CPU咱用率稳定在30%,内存使用90M,基本可以忽略

node index

  1. 再来 express login页面,输出模板是jade

此时延迟已经比较大,系统占用资源和1差不多,为什么延迟会达到7000ms这么高?本页面没有复杂逻辑可言

node_jade

  1. 接着就是Java web,与上面2相同,也是一个登录页面

几乎都在2000ms完成?在这里显示出来的,为什么java 处理并发性能明显比node好这么多?不同的是java虚拟机占用的内存达到700M,这么大的内存,对于32 位的node来说分分钟会挂。

java_tomcat

12相比,是否说明如果在node里面使用jade模板技术会大大降低node处理并发的速度呢?如果是,这差距也太大了吧

23相比,同样在不优化的情况下,同样的业务逻辑,java web优胜于node,也就是Java虚拟机还是比V8厉害。

话说回来V8作者和Java虚拟机作者原来是同一位天才~~

alsotang commented 7 years ago

这类问题去 https://cnodejs.org/ 讨论吧

在 2017年3月31日 下午5:38,cncoder notifications@github.com写道:

先说明一下测试环境:

两台几乎一样配置的手提,在同一100M局域网

-

CPU:Intel i5 4210U

内存:8G

操作系统: win10

测试工具: ab

请求并发均是300

  1. 先测试express 简单的session检测页面,逻辑类似于login页面:

没有使用模板,看到各项性能测试数据还是不错,期间node服务进程CPU咱用率稳定在30%,内存使用90M,基本可以忽略

[image: node index] https://cloud.githubusercontent.com/assets/11889736/24544085/8affc5e0-1634-11e7-8999-0c2242d1d684.png

  1. 再来 express login页面,输出模板是jade

此时延迟已经比较大,系统占用资源和1差不多,为什么延迟会达到7000ms这么高?本页面没有复杂逻辑可言

[image: node_jade] https://cloud.githubusercontent.com/assets/11889736/24544476/05b8f864-1636-11e7-8174-dd731eeba7ea.png

  1. 接着就是Java web,与上面2相同,也是一个登录页面

几乎都在2000ms完成?在这里显示出来的,为什么java 处理并发性能明显比node好这么多? 不同的是java虚拟机占用的内存达到700M,这么大的内存,对于32 位的node来说分分钟会挂。

[image: java_tomcat] https://cloud.githubusercontent.com/assets/11889736/24544601/6d98b9b0-1636-11e7-8099-dd76beff1ccd.png

  • 在对比中有很多不严谨之处,但是侧面能看出一点问题:

12相比,是否说明如果在node里面使用jade模板技术会大大降低node处理并发的速度呢?如果是,这差距也太大了吧

23相比,同样在不优化的情况下,同样的业务逻辑,java web优胜于node,也就是Java虚拟机还是比V8厉害。

话说回来V8作者和Java虚拟机作者原来是同一位天才~~

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/alsotang/node-lessons/issues/131, or mute the thread https://github.com/notifications/unsubscribe-auth/ABGB79PULwEqRJFJhH98nCzmUjPXIqjqks5rrMmugaJpZM4MvcW4 .

-- GitHub: https://github.com/alsotang

cncoder commented 7 years ago

Thx.