UNCシェアのIISサイト:問題はありますか?


7

私はロードバランスがとられている(外部ハードウェアを介して、ホームディレクトリがUNCパスであるIISサイトを持っている)従来のASP Classicソリューションで作業しています。このセットアップに関する次の問題が現在存在しています。

  1. UNCパスをホームディレクトリとして使用する場合、特定の種類の特定のファイルに「キャッシュ」する「インデックス」がありますが、既定値の50キャッシュに入っていないページへのその後の要求は404を返します。
  2. UNCパスをホームディレクトリとして使用する場合、IISサイトを開始するときに前述の「キャッシュ」が満たされ始めます。キャッシュが満たされ、これは、IISサイトの開始後30分まで、膨大なサイト(15,000個の.aspファイル)が利用できないことを意味します。
  3. UNCパスをホームディレクトリとして使用する場合、特定の数以上の同時要求がサイトに送信されると、Windowsは「ネットワークBIOSコマンドのサーバーごとの制限」に達し、その制限を超えるすべての要求が待機する必要がありますIISがサーバーに「セッションを閉じる」まで。制限は100ファイルで構成可能ではないと言われています。

ここでは、これはちょっと変わったようです。既定の設定で新しいWindows 2003サーバーをセットアップし、ASPサイトのホームディレクトリとしてサーバー上の共有を使用して15,000の.aspファイルを持つASPクラシックアプリケーションをホストする場合は、を実際に実行します問題?もしそうなら、アーキテクチャを変更せずにそれらに対抗する方法はありますか?

(「負荷分散」が重要である唯一の理由は、ロードバランシングがファイルがサーバー上の共有上にある理由であるということです)。ロードバランシングが不要な場合、ファイルはローカルディスク)

5

はい、可能ですが、問題が発生する可能性があります。

ASP.NETは、ASPX、ASCX、およびその他のコンテンツページをアセンブリにコンパイルするとき、ファイルの変更時に再コンパイルできるように、それらの間の依存関係を監視するために多くのFileSystemWatchersを作成します。これらはNetBIOSリソースを食いつぶします。

さらに、File.ExistsまたはDirectoryを実行するたびに、サイトのサービングパスにコールやその他の種類のIOが存在するため、NetBIOS制限の要求も増加します。

レジストリを使用してNetBIOS制限を設定し、既定値を超えるように設定できます。

ディレクトリやファイルが比較的少ない小規模なサイトでは、コンパイルされたアセンブリの起動後にASP.NETが引き続き実行されるため、非常に正常にUNC共有を実行できます。ただし、追加するディレクトリやファイルが多いほど、問題が発生する可能性が高くなります。

巨大なサイト(何百ものディレクトリとASPX/ASCXファイル)を実行しようとしましたが、十分なURLにアクセスしてNetBIOSの制限に達した後、すべての後続のページビューで例外。私たちは、robocopyの公開ソリューションを使用することになりました。

最終的には、サイトが十分に小さく、NetBIOS設定が有効に実行されるのに十分かどうかをテストする必要があります。テストサイトでスパイダーを使用することをお勧めします。コンパイルやアクセスが可能なものは少なくとも1回は確実です。

  0

最終的に、NetBIOSの制限などを調整した後、すべてがスムーズに実行されます.FileSystemWatchersとASPコンパイルの起動待ち時間は許容されることが判明しました。 05 3月. 092009-03-05 08:00:37


1

回答3では、ネットワークBIOSコマンドの制限を変更できます。その簡単なレジストリの修正プログラムを修正します。http://support.microsoft.com/kb/810886/en-us

私はその特定の問題を自分で実行しました。


2

IISとUNCとのやりとりに関する直接の質問についてはわかりませんが、負荷分散が必要なビジー状態のサイト(ファイル共有以外のもの)をお勧めします。

IISによってネットワーク経由でロードされるASP(つまりファイル共有)は、パフォーマンスに悪影響を与えます(遅延)。

robocopyのようなものを使用して、すべての負荷分散されたサーバーを中央マスタと同期させておくことをお勧めします。つまり、単一のマスターサーバー(または単一のマスター場所)に展開してから、ファイルをロードバランサのプール内の各スレーブにrobocopyします。

これは、あなたが説明している厄介なUNCの問題を取り除くだけでなく、(ASPページを読み込むときにネットワークヒットを取り除くことによって)素晴らしいパフォーマンス向上をもたらすはずです。あなたがこれをやったなら、かなり重いパフォーマンスが期待されます。

  0

ええ、私は同意します。実際、私はRoboCopyよりDFSを好むでしょう - より多くの設定が、眠れない夜は少なくなります。しかし、いつものように、外部要因がこの特定の設定を指示します。 24 9月. 082008-09-24 07:15:24