我们有一个门户网站,其中的页面允许用户一次最多上传 5 个文件。该页面只有 5 个标准 ASP.NET FileUpload 控件。
问题是,我们发现当用户上传文件时,网站上的所有其他事件都会停止。在上传所需的 1-2 分钟内,我们看到请求开始排队,并且请求吞吐量降至零。文件上传完成后,一切都会恢复。 (我们使用 New Relic 向我们展示正在发生的事情)
我们不处理经常使用的功能,并且上传的文件不大。但是,我们发现上传 4 个文件(每个文件大小约为 70kb)会导致此问题。
一些调查让我找到了this blog post 。不幸的是,他们销售的产品恰好需要服务器 2008 和 IIS7,而客户端则需要 2003 和 IIS6。此外,4 个微小的上传似乎不应该产生这种影响。
那么,是否还有其他人遇到过这种情况,或者知道可能做错了什么而导致如此小规模的问题?也许我们应该检查不正确的应用程序池或 web.config 设置,这会限制吞吐量?
最佳答案
尝试使用委托(delegate)异步上传。这可能会有所帮助。
关于ASP.NET 文件上传停止网站上的所有其他请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7365168/