我们已经创建ASP.NET MVC app
了接受file upload
(最大 80mb)并拥有result pooling implemented by AsincController
. 托管在 Windows 2008 R2 IIS7.5 .NET 4 上。服务器 2 核 2.6GHZ,2GB 内存,快速硬盘。
该网站有许多用户和性能监视器显示ASP.NET Requests/Sec ~15
和Request Current ~270
几分钟后 ASP.NET 启动queuing request
,ASP.NET Request Queued
计数器开始增长,应用程序变得非常缓慢。我正在寻找这个问题将近一个月,试图分析代码,没有性能问题,也没有内存泄漏。增加maxWorkerThreads to 400
和maxIoThreads to 400
。设置maxConcurrentRequestsPerCPU to 5000
,MaxConcurrentThreadsPerCPU to 0
但这也无济于事。
似乎有帮助的一件事是将应用程序池的最大工作进程增加到两个或三个进程并制作应用程序池网络花园。之后 Request Current 跳转到 ~350 并且没有请求排队。但是网园引入了几个新的问题,这里就不多说了。
请发布任何建议我们如何提高应用程序性能而不使我们的应用程序在 IIS 池网络花园中运行?