以前紹介しました: パフォーマンス評価: Node.JS は Java EE より 20% 高速です。次に、他のいくつかのスクリプト言語 php、lua、python、node.js のパフォーマンスを比較してみましょう:
ngx_lua をしばらく勉強した後、lua 構文が js に非常に似ていることがわかりました。同時に、ngx_lua モデルもシングルスレッド、非同期、イベント駆動であり、動作原理は同じです。このコードは、nodejs の非同期コールバックよりもさらに高度です。
性能测试,100并发php:17400nodejs:31197ngx_lua:32628
単純に http プロキシ サーバーを作成し、いくつかの簡単なロジックを追加するだけでは、ngx_lua ソリューションの方が適しているようです。 引用元: PHP vs Node.js vs Nginx-Lua
以下は占有リソースからの分析です:
From: php node lua 写真からわかるように:
nodejs は lua よりも高い CPU を占有します,
nodejs と ngx_lua が占有するメモリは変化せず (同じビジネス ロジックを処理する場合)、php が占有するメモリは不安定です (マルチスレッドに関連している可能性があり、接続が増えると占有されるメモリも増加します)
xueyangkk
実際、このように考えるのは正しいです! ngx_lua は nginx をベースにした拡張機能で、nginx が信頼できる WEB アプリケーションであることが数多くの企業によって検証されています。さらに、ngx_lua は多くのアプリケーションで広く使用されており、技術的に成熟したアプリケーションであると言えます。したがって、これには ngx_lua を選択するのが正しいです。もちろん、これは NODE が良くないという意味ではありません。言語に良いも悪いもありません!それはコストと技術の成熟度の観点からのみ考慮する必要があります。
jayceefun
私は以前 Zhang Dashen openresty を使用したことがありますが、node.js よりも使いやすく、それほど裸ではなく、さまざまなパフォーマンスの最適化がすべて C レベルでした。確かに、Lua は、ノード .js よりも高い同時実行性を備えていることが知られています。ただし、Lua はファイル処理が非常に弱いという欠点もあります。必要なときにこれより優れた ORM がなかったのを覚えています。Lua はある程度 JS に似ているという元の投稿者に同意します。 node.js 言語に変換するには多大な努力が必要です。luvit と呼ばれる、node.js を完全に模倣する Lua で書かれたものをお勧めします。これは完全に未熟で、いくつかの単純な http サーバー機能しかありませんが、基本的なパフォーマンス テストの結果は 2 倍です。
同時リクエストの数は lua/nodejs と同等で、どちらも php の 2 倍の速度です 占有リソースが最も少ないのは lua で、次に nodejs が続きます。この 2 つはメモリをあまり消費しません。が最も高く、不安定です。外国の ape 友人が php/nodejs/go/scala/python 間のパフォーマンス比較を行いました: API プログラミング言語のベイクオフ
次のテストケースは mongodb を使用して追加と削除を行うものですdata 、各言語で 1 秒あたりに処理されるリクエストの最大数:
さらに、2 人の中国猿の友人の評価もこれを証明しました。
1. nodejs と php のパフォーマンスをテストしました
2. 単一サーバーの node.js と php のパフォーマンス テスト
結論として、node.jsの同時実行性 処理能力は両方ともphp.の2倍です
結論:
通常の状況では、luaとnode.jsの処理能力は同等であり、両方ともphpの2倍であり、luaでさえよりよい性能。同時実行数が特定のレベルに達すると、PHP がハングする場合があります。これは、同時実行数が多い場合に複数のスレッドによるメモリ リソースの制御不能な占有が原因である可能性があります。