ASP.NET MVC app
受け入れるものfile upload
(最大80mb)を作成しましたresult pooling implemented by AsincController
。Windows 2008 R2 IIS7.5 .NET4でホストされています。サーバー2コア2.6GHZ、2GB RAM、高速HDD。
Webサイトには多くのユーザーがいて、パフォーマンスモニターASP.NET Requests/Sec ~15
はRequest Current ~270
数分後、ASP.NETが起動queuing request
し、ASP.NET Request Queued
カウンターが大きくなり始め、アプリケーションが非常に遅くなります。私はほぼ1か月間問題を探し、コードのプロファイリングを試みましたが、パフォーマンスの問題やメモリリークはありませんでした。増加maxWorkerThreads to 400
し、maxIoThreads to 400
。設定maxConcurrentRequestsPerCPU to 5000
しMaxConcurrentThreadsPerCPU to 0
ますが、どちらも役に立ちませんでした。
役立つと思われることの1つは、アプリプールの最大ワーカープロセスを2つまたは3つのプロセスに増やし、アプリプールをWebガーデンにすることです。その後、Request Currentは約350にジャンプし、リクエストのキューイングは行われません。しかし、Web Gardenは、ここでは言及しないいくつかの新しい問題を紹介します。
IISプールWebガーデンでアプリを実行せずにアプリケーションのパフォーマンスを向上させる方法について提案を投稿してください。