增加asp.net的请求队列限制

时间:2013-09-10 22:18:09

标签: asp.net download iis-8

不确定我的标题在技术上是否正确但我有问题。

我在IIS 8上有一个asp.net 4.5站点,并使用asp.net来控制/限制文件下载。 而不是让IIS服务器大(10-20MB)静态文件,如zip我使用asp.net。

在大约500到700个用户开始下载之前一切正常。之后,asp.net开始将所有请求排队到域,直到活动请求计数低于某种预定数量。

html等静态内容不受影响。如果我启用多个工作进程,它会处理更多请求,但这会带来管理会话状态的问题。

如果我让IIS提供文件,则没有队列问题。 有没有办法增加asp.net的队列长度?

1 个答案:

答案 0 :(得分:1)

您可以修改请求队列限制和每个CPU允许的最大并发线程数

<system.web> 
  <applicationPool 
       maxConcurrentRequestsPerCPU="12" 
       maxConcurrentThreadsPerCPU="0" 
       requestQueueLimit="5000"/> 
</system.web>

http://blogs.msdn.com/b/rakkimk/archive/2009/07/08/iis7-improving-asp-net-performance-concurrent-requests-while-on-integrated-mode.aspx

但是,如果在您的情况下可行,我建议通过CDN提供更大的静态文件。出于某种原因,默认限制已到位。如果将配置的值提升到默认值以上,则可能会遇到性能问题和运行时错误。

亚马逊的S3 CDN(可能还有其他CDN)提供了一系列选项来控制对CDN上文件的访问

  

使您能够利用IAM用户政策提供的细粒度访问控制,同时通过使您能够进一步限制和限制每个用户的预定义时间来减少您的曝光。

http://aws.amazon.com/articles/5050/