環境: 64 ビット Ubuntu14.04、i5-3230M
ZendOPcache を使用した PHP5.4.31
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('< html> ;
ノードテスト
'+new Date().getTime()+' ');
res.end();
}).listen(8082, '127.0.0.1');
システムの CPU アイドル状態を表示レート:
sar 1
ストレス テスト、100 同時実行、100,000 リクエスト完了:
ab -c100 -n100000 http://127.0.0.1:8082/t.js
メモリが 11MB から 61MB に増加、システム CPU アイドル率 65% 、
RPS は 6049 に達します。
ヒント: 画像をクリックすると、元の画像が表示されます。
//t.php
;html>
PHP テスト
リクエスト:
ab -c100 -n100000 http://127.0.0.1:8081/t.php
メモリは 19.6MB から 20.0MB に増加し、システム CPU アイドル率は 57% になり、
RPS は
11405
に達しました。
結論: Node.JS と PHP CLI サーバーは両方とも、単一プロセスで HTTP リクエストを処理します。RPS 上の PHP は Node.JS のほぼ 2 倍であり、PHP のメモリ使用量は Node のわずか 1/3 です。 JS. Node.JS の優れた点は、システムの CPU アイドル率が PHP よりも約 8% 高いことです。また、PHP-FPM は HTTP プロトコルをサポートしていませんが、PHP リクエストの処理パフォーマンスは PHP CLI Server と同等であり、PHP-FPM は複数のワークプロセスを起動してマルチコアを最大限に活用できます。