NodeJSのリクエスト数と.Netコアのパフォーマンステストを行っていましたが、私が期待していたものを正確に見つけました。明らかに.Net Coreのリクエスト数ははるかに高かった。しかし、私が特に興味深いのは、コードを再コンパイルせずに、クライアントがNodeJSサーバーと.Netコアサーバーを介して実際により多くのRAMを使用していたことです。実際にはRAMの使用量の差はかなり大きかったが、.NETコアサーバーよりもNodeJSサーバーのほうがはるかに高い性質が見られた。ネットコア2.0.0および8.3.0 NodeJSクライアントが別のサーバーでより多くのRAMを使用するのはなぜですか?
問題の注水を使用して
。 .Net Coreサーバーでは、最悪の使用状況では480MBから700MBのどこでも使用できます。 NodeJSサーバーでは、PC上で700MB〜1.4GBのRAMを使用します(どちらもCPUを最大限に活用します)。
HttpServer.cs is the actual code that does the work
Source.cs is where the HttpServer is run in a separate task to allow Console.ReadLine separately.
NodeJS Serverコード
const http = require('http')
let serv = http.createServer((req, res) => {
res.write("Hello!")
// res.destroy() // Uncomment to reduce RAM usage, but the point is still valid
})
serv.listen(48435)
RAM使用量、およびすべてのもののように有意な差を引き起こすどのような、なぜクライアントは次のようになります1つはそれのための罰を受け取りますか?私は、より多くのRAM、プロセッサ、または単により遅いサーバーを使用して理解していますが、クライアントにとって同じコードを実行する同じコードが、場合によってはRAMのほぼ2倍を使用するのはなぜですか?
私が考えることができるのは、node.jsサーバーの場合、クライアントは一度に多くの同時接続を持つということだけです。また、各サーバーでhttpバージョンのサポートを行う必要があります。 1つはhttp/2を実行している可能性があります。 – jfriend00
もっと多くの接続があると思いますか?タスクはC#でマルチスレッド化され、NodeJSは1スレッドを使用します。完成したNodeJSのリクエスト数は約483kで、C#サーバーのリクエスト数は約780kです –
私はちょうどその違いを説明できるいくつかのアイデアを提供しています。 – jfriend00