15

在阅读了很多关于 nodejs 的内容后,我仍然问自己:

与 asp.net HttpAsync 请求相比有什么好处?

唯一的限制(如我所见)是限制的并发请求数IIS

我试图画出我目前对它的理解:

在此处输入图像描述

有什么帮助吗?

  • 有什么异步操作.net/ado.net 不能做的nodejs可以吗?
4

2 回答 2

13

默认情况下,IIS 将并发请求的数量限制为很高。限制可以任意提高。

node.js 有两个主要好处:

  1. 由于异步 IO,可扩展性(不是性能!存在差异)
  2. 与客户端共享 Javascript

ASP.NET 不支持数字 2,因此这是一个优势。

ASP.NET 完全支持异步 IO 和非阻塞代码。此外,您还可以获得 JITed 静态类型语言的性能优势。出于这个原因,对于非玩具应用程序,ASP.NET 通常具有优于 node.js 的性能(打印“hello world”不是真正的基准工作负载!睡眠 10 秒也不是)。

node.js 受益于它极其纤细的代码路径。出于这个原因,像“echo”或“hello world”这样的最小应用程序可能会更快。这不适用于实际执行工作的应用程序。

所以如果你想知道哪个“更好”,你需要考虑一个特定的场景。以实际工作量进行基准测试(不,计算阶乘数是不现实的。C# 只会大获全胜。毫无意义)。还要考虑平台、库、文档、支持、开发人员生产力的成熟度......

于 2012-09-11T20:33:36.310 回答
5

node.js 和 ASP.NET 的主要区别在于库生态系统。大多数 node.js 库都提供了一种异步方式。ASP.NET 方法没有,只有少数方法可以。如果一路上有同步的东西,异步的意义就丢失了。

这是大多数平台与 node.js 相比的问题。

否则,仅仅使用这种 AsyncHttp 方法,ASP.NET 和 node.js 没有区别。

于 2012-09-12T06:51:22.907 回答