我正在尝试为我的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万次呼叫,它应该是可扩展的,所以我试图找出这里最好的方法,性能测试结果让我感到困惑。
答案 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。