NodeJS与PHP + Apache性能测试有着奇怪的结果

时间:2014-10-15 12:15:48

标签: php node.js performance apache

我正在尝试为我的API选择最好的技术,所以我创建了最简单的脚本:

PHP:

<?php

$r = [];

for($i=0;$i<=1000000;$i++) {
    $r[] = $i;
}

echo json_encode($r);

节点

var http = require("http");

http.createServer(function(request, response) {
    var i, ret = [];

    response.writeHeader(200, {"Content-Type": "text/html"});

    for(i=0;i<=1000000;i++) {
        ret.push(i);
    }

    response.end(JSON.stringify(ret));
}).listen(8080);

Apache有一个非常默认的配置,没有花哨的optiomizations

对于PHP + Apache和NodeJS,响应时间大约是1.5s-2.3s,这真的很奇怪。我是否对节点做错了或者只是这个特定的功能没有PHP + Apache的优势? / p>


API应该是ultimatley接收呼叫,将其插入一侧的数据库,另一侧应该获取这些结果。 api应该每天接收大约100万次呼叫,它应该是可扩展的,所以我试图找出这里最好的方法,性能测试结果让我感到困惑。

1 个答案:

答案 0 :(得分:0)

请注意,效果基准测试结果取决于您为基准测试而运行的程序/应用程序的类型。

通常有两种表现指标。一个是服务器端性能(通过计算服务器(Linux Box)中相应技术的CPU和内存使用量来衡量),另一个是客户端性能(使用Apache Bench等工具的响应时间来衡量)。

服务器端CPU和内存使用基准: Debian.org基准测试Linux Box(Ubuntu)中的不同编程语言/框架。它使用一组不同类型的程序来衡量性能。它可以是理想的信息来源。但是,它仅测量服务器端CPU和内存使用情况。您可以在以下链接中找到Node和其他语言(例如PHP)之间的基准测试结果:

https://benchmarksgame.alioth.debian.org/u64q/which-programs-are-fastest.html https://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=node&lang2=php

根据他们的结果,在CPU使用方面,与PHP相比,Node表现得更好。

客户端响应时间基准: Hostingadvice比较了客户端的节点与PHP性能。他们根据客户端响应时间来衡量性能。您可以在以下链接中找到结果: http://www.hostingadvice.com/blog/comparing-node-js-vs-php-performance/

根据他们的结果,Node在客户端响应时间方面的表现明显优于PHP。