2009-05-29 11 views
0

当社は、LAN資源配分

  • 4ギガバイトのRAM
  • 1のTBのHDD
  • クワッドプロセッサ
に非常に良い構成のサーバマシンを持っています

サーバーで実行中のアプリケーションは2種類あります

  1. IIS監視下で実行されているASP.NET Webアプリケーション
  2. 標準のWindowsアプリケーションが管理者アカウントで実行されています。

私の質問は、これらのアプリケーション間でリソースがどのように分配されるかです。私はWindowsアプリケーションが高いリソース(100%のCPU、100%のRAMなど)を利用できることは知っていますが、asp.netプロセスがこれらのリソースにどれだけのアクセス権を持っているかわかりません。それはそれらのためにまたはWindowsアプリケーションのように制限されていますか?また、何らかの制限がある場合、どうすればこの問題を解決できますか?

私はこの質問をしている理由は私たちのWebアプリケーションからいくつかの重い操作を実行したいです。何をするのが最善の方法です。私は、Windowsサービス、MSMQのために行くか、asp.netアカウントを使用することができますか?

答えて

1

Windows Server 2003または2008の最初の質問に答えるには、システムリソースをアプリケーションまたはプロセスに割り当てることができるWindows System Resource ManagerというWSRMというものがあります。これは、サーバーOSのEnterprise Editionに付属しています。ちょうどリソースを割り当てる方法は、黒い芸術のようなものです。あなたは物事を試して、あらゆる種類の条件で徹底的にテストしなければなりません。

「重い操作」を処理するための最善の方法 - 簡単な答えはです。それはに依存しています。多くの異なるアプローチがあり、それぞれ異なる要件に適合しています。

MSMQは、オフピーク時の処理を可能にする作業要求のバッファリングに役立ちます。 WSRMは、システムリソースの割り当てと配分を可能にします。これら2つは相補的なものでも、代替として見ることもできます。 ASP.NETやWindowsサービスについては


:ASP.NETは、明らかに、ブラウザベースの要求のために主に役立つことになるだろうが、またおそらく他のシステムからのRESTスタイルの要求(または類似)のためです。 ASP.NETアプリケーションは、w3wp.exeワーカープロセスの下で実行されます。これはIISによってnannyされます。定期的な再起動、古いプロセスの自動再起動、要求ベースのアクティブ化など、すべてのIISプロセス管理機能を利用できます。

Windowsサービスは、Windows Server上で実行されるカスタムアプリケーションを作成する方法です。要求に基づく。あなたのシナリオの1つの例は、スケジュールで起動し、毎晩午後10時に言うWindowsサービスで、MSMQに入っているすべてのキューに入れられたトランザクションを実行します。キューが空または午前4時のいずれか早いほうになると、Windowsサービスがシャットダウンします。 Windowsサービスは、IISプロセス管理のメリットを享受しません。

要するに、ASP.NETとWindowsサービスは、プロセスやアプリケーションのホスティングとライフサイクル管理のためのさまざまな選択肢を提供します。


これは単なる一般的な情報です。このコミュニティからより具体的かつ具体的な指針を得るには、「どうすれば重い処理を行うことができるのですか」より具体的な要求をしなければなりません。

関連する問題