我们注意到 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(最新发布的版本)。 |
Koa.js 在 Node 和 io.js 上的比较许多新框架正在争夺 JS 轻型框架的一席之地,这里我们对一些比较受欢迎的进行基准测试,其一就是Koa.js,它正是 Express.js 的作者所写。 使用 Koa 最大的好处是可以使用 ES6 的特性-包括使用 generators 和 yield 语法开启异步代码(不用该死的回调)。这个基准测试使用[node --harmony]参数启动。涉及一个简单路由的逻辑,并输出一段 HTML。 |
让我们观察 Koa 在 Node 和 io.js 上的运行情况:
从 Node 到 io.js 最新版本上有14.8%的速度提升-差距很大。如果你看过最新的 JS 后端框架,显而易见 io.js 有了相当的性能改进。当在一个 VM 集群运行 Node,根据规模,这个提升也许能少用几台机器及相应的设施成本 - 全都免费。 错误跟踪我们十分喜欢 Raygun 的性能改进,如果你有在产品中使用 io.js 或 Node 的经验欢迎随时在评论中发表。另外我们有一个强大的 Node 错误跟踪的实现 - 获取30天免费试用期。不断改进,让错误远离! |
本文转自:开源中国社区 [http://www.oschina.net]
本文标题:性能对决:Node.js vs io.js v2.0.0
本文地址:http://www.oschina.net/translate/performance-showdown-node-js-vs-io-js-v2-0-0
参与翻译:Frank_mc, 一曲, zhngjan
英文原文:Performance Showdown: Node.js vs. io.js v2.0.0