node php 在性能上差不多。模拟实际应用进行测试对比了。有点小失望。
发布于 12 年前 作者 dreawu 7937 次预览 最后一次回复是 12 年前 来自
最近研究 node 主要 express+mongoose 对mongodb进行写入测试。
先会生成自增的_id 然后插入另外一个集合。PHP也是这么做的。用ab测试过。性能上node没比php好。
node开启了多线程,异步写入mongodb。mongoose 开启了16个连接池。居然都比php差一点点。
是我没搞好?有高手一起研究的没?
14 回复
你这样测试,只能测试的mongodb 的性能吧…
而且node 那里来的多线程??是多进程吧…
实际项目,有大量的mongodb写入。这样的测试更接近实际项目。
你是怎么测试的?
node是按cpu数量开启多进程。
楼主测试的时候还是应该先找到整个系统的瓶颈,再去分析为什么用node没有性能上的提升…
这次node跟php都简单输出字符:fibo
结果还是一样。node没有比php好多少。甚至还差一点点。
node 代码如下:
var cluster = require(‘cluster’); var http = require(‘http’); var numCPUs = require(‘os’).cpus().length;
if (cluster.isMaster) { // Fork workers. for (var i = 0; i < numCPUs; i++) { cluster.fork(); } cluster.on(‘online’, function(worker) { console.log(‘worker ’ + worker.process.pid + ’ start’); }); cluster.on(‘exit’, function(worker, code, signal) { console.log(‘worker ’ + worker.process.pid + ’ died’); }); } else { // Workers can share any TCP connection // In this case its a HTTP server http.createServer(function(req, res) { res.writeHead(200); res.end(“fibo”); }).listen(8000); }
php代码如下:
<?php
echo ‘fibo’;
?>
https://code.google.com/p/node-js-vs-apache-php-benchmark/wiki/Tests
你看下…??
这个是比较早的测试了,你按照他的方式在测试一次?
测试的源码在: https://code.google.com/p/node-js-vs-apache-php-benchmark/wiki/SourceCode
@youxiachai
测试了。结果一样。node比php 差。
看我日志: http://www.funfly.cn/archives/tech/nodejs/249.html
@dreawu
pi 计算那块做了没??
只是输出
Hello world部分,两者差距不大,我测试了好几次,拿最快的那次吧…其实这块两者差距不大…Node.js
PHP
不过,Pi 计算部分,Node.js 完爆 PHP
Node.js
PHP 测了好几次,成绩最好的一次…
@dreawu 你测试一下PI 计算部分…Node.js 明显比PHP 强太多了…
@dreawu 我只有apache的…你,试一下,把pi 计算也测来看看…
@youxiachai 看了你的博客,目测也是win 下的吧…求你的lamp 优化配置攻略.怎么测试,Node.js 都是好过PHP…
最终用两台同网段的centos机器测试。NODEJS.确实比PHP快至少两倍以上。
我的测试,是生成自增_id写MONGODB 使用 express mongoose
#node单进程:
webbench -c500 -t60 http://192.168.9.76:3000/ Webbench - Simple Web Benchmark 1.5 Copyright © Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://192.168.9.76:3000/ 500 clients, running 60 sec.
Speed=7267 pages/min, 19257 bytes/sec. Requests: 7267 susceed, 0 failed.
#优化后的LNMP: webbench -c500 -t60 http://192.168.9.76/node/test_pi.php Webbench - Simple Web Benchmark 1.5 Copyright © Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://192.168.9.76/node/test_pi.php 500 clients, running 60 sec.
Speed=3936 pages/min, 14423 bytes/sec. Requests: 3936 susceed, 0 failed.
#node多进程:
webbench -c500 -t60 http://192.168.9.76:3000/ Webbench - Simple Web Benchmark 1.5 Copyright © Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://192.168.9.76:3000/ 500 clients, running 60 sec.
Speed=52772 pages/min, 139845 bytes/sec. Requests: 52772 susceed, 0 failed.
#node多进程写入mongodb:
webbench -c300 -t60 http://192.168.9.76:3000/ Webbench - Simple Web Benchmark 1.5 Copyright © Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://192.168.9.76:3000/ 300 clients, running 60 sec.
Speed=398412 pages/min, 1049170 bytes/sec. Requests: 398412 susceed, 0 failed.
#优化后的LNMP,PHP写入mongodb:
webbench -c300 -t60 http://192.168.9.76/node/test_mongodb.php Webbench - Simple Web Benchmark 1.5 Copyright © Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://192.168.9.76/node/test_mongodb.php 300 clients, running 60 sec.
Speed=181520 pages/min, 520357 bytes/sec. Requests: 181520 susceed, 0 failed.
#node单进程写入mongodb:
webbench -c300 -t60 http://192.168.9.76:3000/ Webbench - Simple Web Benchmark 1.5 Copyright © Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://192.168.9.76:3000/ 300 clients, running 60 sec.
Speed=64506 pages/min, 169865 bytes/sec. Requests: 64506 susceed, 0 failed.