3

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 ~15Request Current ~270

数分後、ASP.NETが起動queuing requestし、ASP.NET Request Queuedカウンターが大きくなり始め、アプリケーションが非常に遅くなります。私はほぼ1か月間問題を探し、コードのプロファイリングを試みましたが、パフォーマンスの問題やメモリリークはありませんでした。増加maxWorkerThreads to 400し、maxIoThreads to 400。設定maxConcurrentRequestsPerCPU to 5000MaxConcurrentThreadsPerCPU to 0ますが、どちらも役に立ちませんでした。

役立つと思われることの1つは、アプリプールの最大ワーカープロセスを2つまたは3つのプロセスに増やし、アプリプールをWebガーデンにすることです。その後、Request Currentは約350にジャンプし、リクエストのキューイングは行われません。しかし、Web Gardenは、ここでは言及しないいくつかの新しい問題を紹介します。

IISプールWebガーデンでアプリを実行せずにアプリケーションのパフォーマンスを向上させる方法について提案を投稿してください。

4

1 に答える 1

1

I will say to you to double check the pages that take long time to proceed a work, or the pages that download or upload files, and disable the session on this pages. If this is not possible, then you may need to write a totally custom way to handle the session.

Why, because session is locks everything until the page fully return.

You can read relative to session and to this issue:
call aspx page to return an image randomly slow
ASP.NET Server does not process pages asynchronously
Trying to make Web Method Asynchronous
Web app blocked while processing another web app on sharing same session  
What perfmon counters are useful for identifying ASP.NET bottlenecks?  
Replacing ASP.Net's session entirely  

于 2012-11-08T18:37:26.363 に答える