ASP.NET如何确定是否排队请求?
|
当ASP.NET接收到请求时,它如何确定是服务还是排队?我问,因为我正在监控服务器上的性能计数器,并且CPU没有超出,并且有一大堆可用的工作线程,但我仍然看到最多200个请求排队. 解决方法我一直在做研究,我相信我得到了一个可以接受的答案.我的主要来源是这篇文章: http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage-on-iis-7-0-and-6-0.aspx据了解,请求处理有两种主要方式被限制.第一个是MaxConcurrentRequestsPerCPU属性.在.NET 4之前,这个默认设置为12.在.NET 4中,它被更改为5000.对于异步请求,他们希望允许很多,而对于同步请求,他们认为ASP.NET ThreadPool会足够节制同步请求.第二个是ThreadPool本身. ASP.NET发布请求后,可以决定何时进行. 如果您正在进行异步处理,您的限制因素可能是CPU,网络和磁盘,而不是任何ASP.NET请求限制.它可能会达到MaxConcurrentRequestsPerCPU限制,但是这个限制真的很高. 如果您在长时间的网络呼叫中进行同步处理和阻止,则更有可能遇到这些限制. MaxConcurrentRequestsPerCPU在.NET 4之前需要注意,但仍然有ThreadPool. 性能测试 .NET 3.5,没有修改:46秒.用过程浏览器查看9个工作线程. 几点意见: > MaxConcurrentRequestsPerCPU没有受到打击.它看起来像是ThreadPool本身的限制..NET 3.5似乎并不愿意让新线程来处理同步请求. .NET 4做了更好的工作来加快处理负载.>异地仍然是国家一英里最好的. (编辑:东莞站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 登录后对Membership.GetAllUsers()的例外情况:
- asp.net-mvc – 从视图到控制器POST信用卡数据是否安全?
- asp.net-mvc – 如何将ASP.Net MVC路径段中的1或0映射到布尔
- 如何在Asp.Net Mvc中进行Basecamp风格的账户?
- .net – DNU发布 – 来自MSBuild的no-source
- asp.net – compilation debug =“true”和发布模式“relea
- 在asp.net App_Code目录中使用Nemerle
- asp.net – 多个域的集成Windows身份验证
- asp.net – Oracle.ManagedDataAccess:TNS:无法解析指定的
- asp.net-mvc-3 – 将数组传递给RouteValues,并将其渲染为粘
- asp.net – 什么是system.globalization它和本地
- asp.net-mvc – asp.net MVC antiorgerytoken异常
- 从ASP.Net中的sessionID获取会话对象
- asp.net-mvc-3 – 如何在本地测试时禁用elmah发送
- asp.net-mvc – 输出在剃刀通过变量?
- 如何为ASP.NET身份设置密码规则?
- asp.net – 干净的方式来防止输入按钮提交表单
- asp.net-mvc – 从页面到局部视图的asp.net mvc参
- ASP.NET 程序中删除文件夹导致session失效问题的
- 有没有办法加快asp.net中的编辑 – 编译 – 调试
