みなさんこんにちは! 2つの言語の対立の継続。
今日は、より正直な比較を行います。これは、ほとんどの実際のタスクを反映しています。
したがって、今日は以下の理由でPHPとNode.jsを比較します。- 典型的な動的ページ
- REST API
重要! 発生する可能性のある質問やプレゼンテーションへの回答:質問:
また、クラスターでNode.jsを実行すると、高速になりますか?回答:
ある核プロセッサーでは、処理速度が遅くなります。 (繰り返し確認)質問:
そして、Node.jsの接続プールを使用してmysqlに接続する場合、リクエストの並列化によりおそらくより高速に動作しますか?回答:
ある核プロセッサーでは、処理速度が遅くなります。 (繰り返し確認)質問:
ノードのコードをウォームアップする必要があります。結局のところ、同じ場所にJITがあり、それはより速く動作しますか?回答:
もちろん、すべてがウォームアップされ、結果が最も成功します。Predyava:
はい。キャンペーンのすべてを準備しました。必要に応じ
て、実際の結果は異なります。回答:
テストコードはGitHubで公開されており、コピーして確認してください。Predyava:
abは、テストされたバックエンドが実行されているサーバーではなく、別のコンピューターで実行する必要があります。回答:
怠について説明します。 しかし、2語で言えば、abはテスト中に実質的にリソースを消費せず、サーバーが可能な実数をより多く与えます。サーバー構成:シンプルなVDS-1コアプロセッサ2 GHz、1 GBのRAM、10 GB SSD。
OS:Debian 8.6。
サーバーが原則として多数の接続を処理できるように、基本的なカーネル設定も行われています。
テーブル(100レコード)にデータを生成しました。
始めましょう。
第1段階(単一クエリ):各サブジェクトの10個の単一クエリから、平均値を選択します。
Node.js-典型的な動的ページNode.js-REST APIPHP-典型的な動的ページPHP-REST APIご覧のとおり、生成速度の違いは時々異なり、PHPがこのラウンドで勝ちます。
第2段階(負荷テスト):各被験者の10回の実行から、平均値を選択します。 ここでは、サーバーが処理できる1秒あたりのリクエスト数に関心があります。 1000スレッドで3000リクエスト。 #ab -n 3000 -c 1000 ...
Node.js-典型的な動的ページNode.js-REST APIPHP-典型的な動的ページPHP-REST API動的ページ-PHPはほぼ2倍高速です(正確には1.78)REST API-PHPはほぼ3.5倍高速です(正確には3.32)テスト用のコードでリポジトリにリンクするシステム構成、pkhp、Mysqlについてできるだけ早く動作するように構成されています。
オペレーティングシステム、php、nginx、mysqlの設定方法がわからない場合。 これは私の問題ではありません。
Node.js用の独自のREST API実装オプションを作成して、結果が私のものよりも速くなるようにできたら、本当に感謝しています。 そして、コメントにコードを残して、測定を行い、結果を書きます。 目標は追いつくことですが、PHPを追い越すことをお勧めします。
更新
ユーザーのアドバイスに
基づいて、
dosはNode.jsの
github.com/mscdex/node-mariasqlでMySQLドライバーを変更し、結果が劇的に変わりました!
Node.jsの結果を更新
ステージ1Node.js-典型的な動的ページNode.js-REST APIステージ2Node.js-典型的な動的ページNode.js-REST API動的ページ-Node.jsは1.16倍高速(16%)REST API-Node.jsが1.26倍高速(26%)