Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET可以处理多少异步并发请求?_C#_Asp.net_Asp.net Mvc_Asynchronous_Async Await - Fatal编程技术网

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

C# ASP.NET可以处理多少异步并发请求?,c#,asp.net,asp.net-mvc,asynchronous,async-await,C#,Asp.net,Asp.net Mvc,Asynchronous,Async Await,…我说的是一个大概的数字。是100、1000甚至10000 对于10秒左右的操作,我希望使用异步重新锁定,并重试5秒 因此,当一个用户正在执行工作时,有成千上万的用户在等待RedisLock(偶尔调用Redis) 这意味着我将有XXX个异步并发请求等待,这些请求几乎不做任何CPU工作 ASP.NET可以简单地处理成百上千个问题,还是会遇到其他瓶颈 改为:ASP.NET可以同时处理多少异步任务? 当然,我只知道何时测量它,但如果在我重构所有东西之前有任何提供某种方向号的源代码,那就太好了 额外注释

…我说的是一个大概的数字。是100、1000甚至10000

对于10秒左右的操作,我希望使用
异步重新锁定
,并重试5秒

因此,当一个用户正在执行工作时,有成千上万的用户在等待RedisLock(偶尔调用Redis)

这意味着我将有XXX个异步并发请求等待,这些请求几乎不做任何CPU工作

ASP.NET可以简单地处理成百上千个问题,还是会遇到其他瓶颈

改为:ASP.NET可以同时处理多少异步任务?

当然,我只知道何时测量它,但如果在我重构所有东西之前有任何提供某种方向号的源代码,那就太好了

额外注释

  • 让我想一想:我托管在3.5GB2核心Azure实例上,这是一个非常普通的中端服务器
  • 上面的例子是简化的——我现在不是在寻找一种不同的方法——我只是在寻找一些大概的数字

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

给你一个关于RHEL的max KAIO的想法

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

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

有太多的因素在起作用,使这成为一个有用的问题。嗨@mason,我如何解决这个问题?在某种程度上,它是关于在一台普通的中端计算机上,ASP.NET中可以“等待”多少真正被动的并发任务。大概数字-谈论100、1000或10.000之间的差异。例如,如果没有异步,您的线程数量明显受到限制,ASP.NET似乎在10的范围内。我认为您无法解决这个问题。如果你对你的环境没有更多的了解,这是不负责任的——你可以很容易地知道而我们却不能。如果你想测量你的应用程序在特定平台上运行得有多好,那么就测量它!不要让我们猜测,因为我们不知道。唯一知道的方法是对服务器进行负载测试。其他任何事情都是主观的,只是猜测而已。这就是为什么这个问题与主题无关,应该关闭。IOCP=“I/O完成端口”;KAIO=“内核异步I/O”;RHEL=“Red Hat Enterprise Linux”