Node.js和io.js性能对决_最新动态_新闻资讯_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 新闻资讯 > 最新动态 > Node.js和io.js性能对决

Node.js和io.js性能对决

 2015/5/16 18:04:11    程序员俱乐部  我要评论(0)
  • 摘要:英文原文:PerformanceShowdown:Node.jsvs.io.jsv2.0.0我们注意到io.jsv2.0.0RC版公告中有些有趣的内容。这个社区版的Node.js同样基于V8引擎实现,而且主版本提交的频率远高于它的父项目(Node.js)。就像我们之前提到的,之前我们热衷于用Node.js开发了RaygunAPI,以确保在高负载情况下达到尽可能短的响应时间,给我们的用户提供最佳的服务。之前的一片博客比较了一下Node.js与io.js的性能,后来io.jsV2版本发布了
  • 标签:JS

性能对决:Node.js vs io.js v2.0.0

  英文原文:Performance Showdown: Node.js vs. io.js v2.0.0

  我们注意到 io.js v2.0.0 RC 版公告中有些有趣的内容。这个社区版的 Node.js 同样基于 V8 引擎实现,而且主版本提交的频率远高于它的父项目(Node.js)。

  就像我们之前提到的,之前我们热衷于用 Node.js 开发了 Raygun API,以确保在高负载情况下达到尽可能短的响应时间,给我们的用户提供最佳的服务。之前的一片博客比较了一下 Node.js 与 io.js 的性能,后来 io.js V2 版本发布了,我们准备重温下不同情况下的性能测试

  配置

  像之前一样,下面测试综合了 micro-benchmarks, caveat emptor, huge grain of salt 等等。不论如何,下面的图表提供了几个有趣的结果,值得思考一番,也给你自己的实地测试提供一个参考,而且以后你可能会获得一个显著的速度提升。

  测试环境为:64-bit Ubuntu VM ApacheBench。配置为以 100 个并发运行 20000 个请求,结果为 5 次运行的平均值。

  我们测试了 2 个版本的 node 跟 2 个版本的 io.js。node 是 v0.10.38(0.10 分支的最新版本)跟 v0.12.2(现有最新的版本)

  io.js 我们比较了 v1.8.1(1.x 分支的最新版本)与 v2.0.0(最新发布的版本)。

  测试使用 http module 创建了一个简单的服务器,设置其在请求时返回一个 JSON。结果如下:

性能对决:Node.js vs io.js v2.0.0

  有趣的是,我们注意到 node 从 0.10 到 0.12 性能下降了, 而 io.js 1.x 分支与 node 0.10 相当,但是 v2.0.0 就高出了很多。

  当返回一个 Raw 格式响应时, 该测试显示 io.js v2.0.0 比 node 0.12 要快 14%! 他们都比自己的前一个版本有了5% 的速度提升。结果还不错,不过我们有更多的东西可以测试。

  Express.js

  Express 曾经且依然是快速构建一个 web 项目后端的大众选择。 上次我们也介绍了一下他的性能表现,让我们看下它在 node 0.12 与 io.js v2.0.0 中表现如何:

性能对决:Node.js vs io.js v2.0.0

  测试结果 io.js v2.0.0 要快 4.5% – 在一个老框架上很不错了 (要知道 JS 的生态变化很快啊)!

  Koa.js 在 Node 和 io.js 上的比较

  许多新框架正在争夺 JS 轻型框架的一席之地,这里我们对一些比较受欢迎的进行基准测试,其一就是 Koa.js,它正是 Express.js 的作者所写。

  使用 Koa 最大的好处是可以使用 ES6 的特性-包括使用 generators 和 yield 语法开启异步代码(不用该死的回调)。这个基准测试使用[node --harmony]参数启动。涉及一个简单路由的逻辑,并输出一段 HTML。

  让我们观察 Koa 在 Node 和 io.js 上的运行情况:

性能对决:Node.js vs io.js v2.0.0

  从 Node 到 io.js 最新版本上有 14.8% 的速度提升-差距很大。如果你看过最新的 JS 后端框架,显而易见 io.js 有了相当的性能改进。当在一个 VM 集群运行 Node,根据规模,这个提升也许能少用几台机器及相应的设施成本 – 全都免费。

发表评论
用户名: 匿名