ASP.NET可以处理多少个异步并发请求?

时间:2017-03-27 10:59:35

标签: c# asp.net asp.net-mvc asynchronous async-await

......我正在谈论一个棒球场的人物。它是100年代,1000年代甚至是10,000年代?

对于~10秒的操作,我想使用async RedisLock并重试5秒。

因此,当一个用户正在执行工作时,有数千名用户正在等待RedisLock(偶尔进行Redis调用)。

这意味着我将有大量的异步并发请求等待,几乎没有任何CPU工作。

ASP.NET可以简单地处理数百或数千,还是会遇到其他瓶颈?

重新说明: ASP.NET可以同时处理多少个异步任务?

当然我只是真的知道我什么时候测量它,但如果有任何来源在我重构所有内容之前提供某种方向编号,那就太好了。

额外备注

  • 提出一些想法:我在3.5GB 2核心Azure实例上托管 - 这是一个非常普通的中端服务器。
  • 上面的例子很简单 - 我现在不想找到一种方法以不同的方式 - 我只是在寻找一些大概的数字。

1 个答案:

答案 0 :(得分:1)

据我所知,ASP.NET利用IOCP实现异步IO,IOCP可以处理数十万个并发连接。

通过RHEL上的max KAIO向您提供一个想法

cat /proc/sys/fs/aio-max-nr 
1048576

这当然是Linux,但我的估计至少是100.000