环境:64位Ubuntu14.04,i5-3230M
PHP5.4.31 with ZendOPcache
Node.JS 0.10.35
//t.js
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html;charset=UTF-8'});
res.write('
Node测试'+new Date().getTime()+'');
res.end();
}).listen(8082, '127.0.0.1');
运行程序:
node t.js
查看系统CPU空闲率:
sar 1
压力测试,并发100,完成10万请求:
ab -c100 -n100000 http://127.0.0.1:8082/t.js
内存从11MB涨到61MB,系统CPU空闲率65%,
RPS达到6049. 提示:点击图片,查看原图。 //t.php
PHP测试
运行程序:
php -S 127.0.0.1:8081 -t ./
查看系统CPU空闲率:
sar 1
压力测试,并发100,完成10万请求:
ab -c100 -n100000 http://127.0.0.1:8081/t.php
内存从19.6MB涨到20.0MB,系统CPU空闲率57%,
RPS达到 11405.
结论:Node.JS和PHP CLI Server都是单进程处理 HTTP 请求,RPS上PHP几乎是Node.JS的两倍,内存占用上PHP却只有Node.JS的1/3。Node.JS值得称道的是,系统CPU空闲率要比PHP高8%左右。另外,PHP-FPM虽然不支持HTTP协议,但其处理PHP请求的性能并不会比PHP CLI Server差,而且PHP-FPM可以开启多个工作进程,充分利用多核。
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn