1

BizTalk 2010 のインストールでいくつかのパフォーマンス テストを行っていますが、そのテストの 1 つに数ギガバイトのファイルの使用が含まれています。非常に簡単なエラーが表示されますが、いくつかの重要な情報が欠落しており、ドキュメントに基づいてこれまでのところ把握できません。

エラーは、受信パイプラインが失敗したことです。「理由: ディスクに十分なスペースがありません。」

うーん。どのディスク?これは、Windows がインストールされているパーティション、BizTalk がインストールされているパーティション、データベース サーバーなどである可能性があります。ファイルを収容するのに十分なスペースがあるように見えますが、XML に変換されると、ファイルはさらに大きくなります。したがって、おそらくそれらのいずれかである可能性があります。

テストを元に戻して実行できるように、問題の原因を追跡するための提案を探しています。

4

2 に答える 2

4

ディスクがいっぱいになる原因は、おそらく一時フォルダーです。大きなファイルが処理されている場合 (特にマッピングまたは逆アセンブラーで)、仮想ストリームはメッセージの一部をディスクに書き込み、ストリーミング方式で動作してメモリ リークを防ぎます。
一時フォルダー (%temp% 変数) を c:\ ドライブ以外の別のディスクに移動することをお勧めします (特に運用環境では)。これは、BizTalk がすべての大きなメッセージ フラグメントを格納する場所です。

MSDN ヘルプから:

既定では、マッピング中にファイル システムにバッファーされるドキュメントは、BizTalk Server コンピューターの %temp% ディレクトリに書き込まれます。%temp% 環境変数の設定を非システム ディスクに変更して、マッピング中に大きなメッセージをファイル システムにバッファリングする際のパフォーマンスを向上させます。

詳細については、http: //msdn.microsoft.com/en-us/library/aa560481.aspxを参照してください。

于 2013-05-07T07:36:49.937 に答える
1

ディスクがいっぱいであるというエラーが表示された場合は、SQL Server のディスク領域が不足している可能性があります。

ただし、ファイル サイズがギガバイトを超えているとおっしゃっていたので、BizTalk サーバーの仮想ディスク領域が不足しているため、エラーが発生する可能性があります。これは、使用している受信パイプラインが XmlDocument クラスを使用していることが原因である可能性があります。XmlDocument クラスは、通常、ファイル サイズの約 10 倍のメモリを占有するため、メモリ スペースの点ではまったく効果がありません。したがって、約 1 GB の xml ファイルがある場合、XmlDocument を使用すると、約 10 GB の RAM が占有されます。

ファイル サイズの範囲が 12 GB 以上であると述べたので、数百 GB のメモリがない限り、BizTalk サーバーが RAM メモリを使い果たしている可能性が非常に高くなります。これが発生した場合の Windows OS のデフォルトは、余分なデータを RAM から仮想ディスク領域と呼ばれるハードディスクに保存することです。マシンのディスク容量も不足しているようです。これが、発生しているエラーを説明している可能性があります。

実際にメモリが不足しており、その後仮想ハード ディスク領域が不足しているかどうかを確認するために、仮想ディスク領域やメモリ使用量について、biztalk サーバー マシンのプロファイルを作成することができます。その調査に応じて、解決に至るという点でいくつかの選択肢があります。

  • RAM とハード ディスク領域の両方を増やします。これは、コードや設計/アーキテクチャのリファクタリングを一切行わずに、必要なパフォーマンスを達成するための迅速かつ簡単な方法です。
  • ファイル サイズを分割する - 可能であれば、ファイル サイズをより小さいファイルに分割します。
  • カスタム パイプラインとパイプライン コンポーネントを使用する - 調査することをお勧めします
于 2013-05-07T08:40:45.943 に答える