1

8 GB の RAM と Windows Server 2003 Enterprise がインストールされた 2 x クアッド コア Xeon サーバーがあります。.NET Framework 3.5 に基づくアプリケーション サーバーをインストールしました。サーバーは、データベース サーバーとして SQL Server 2005 を使用します。

アプリケーション サーバーをインストールしたときは、パフォーマンスが非常に高速で、すべて問題ありませんでした。ドメインに参加すると、パフォーマンスが劇的に低下しました。たとえば、完了までに 1 秒かかったタスクが約 30 秒かかります。これは、.NET ベースのアプリケーションのパフォーマンスのみがこのパフォーマンス ヒットを記録し、他のアプリケーションは通常の速度で実行されるため、非常に奇妙です。

なぜこれが起こっているのか、誰にも分かりますか?どんな助けや提案も大歓迎です。

4

3 に答える 3

3

残念ながら、あなたの質問に答えるにはおそらくもっと多くの情報が必要です。これが発生する理由は多数考えられますが、そのほとんどはコードに関係しています。

ドメインに参加してから問題が発生し始めたという症状に基づいて、以前はマシン上でローカルに実行できた多くのネットワーキングが行われていると思いますが、レイテンシは実際には面倒を起こす。

しかし、それは十分な情報がほとんどないことに基づく大げさな推測です。

コードをプロファイリングすることをお勧めします。実行中に大部分の時間が費やされている場所を見つけてから、コードまたはそのサニタイズ バージョンをここに投稿して、最適化を支援できるようにします。

于 2009-11-02T20:12:45.740 に答える
1

私は自分の質問に対する答えを見つけたので、ここで共有するのが良いと思いました. CLR は、アセンブリを読み込もうとするときに、Authenticode 署名を使用してアセンブリの発行元の証拠を生成したいと考えています。私たちの場合、CLR は clr.microsoft.com に接続しようとしましたが、サーバーのインターネット アクセスがブロックされたため、アプリケーション サーバーが新しいアセンブリを読み込もうとするたびに大きな遅延が発生しました。

次の投稿では、この機能を無効にする方法について説明しています。

起動時の Authenticode 署名チェックのバイパス

于 2009-11-04T03:37:38.193 に答える
0

ここで推測して、Web アプリケーションについて話していると思います。これが正しければ、Web サーバーにセットアップしたアプリケーション プールを確認することをお勧めします。アプリケーションが実行を開始したときに、アプリケーション自体をどのプールに設定するかについて混乱している可能性があります。

もう 1 つ確認すべきことは、データ接続である可能性があり、開いているものをすべて閉じていることを確認してください。

最後に、Randolpho が言ったように、何らかのプロファイラーを使用してコードの実行を追跡し、どこで問題が発生しているかを確認する必要があります。

幸運を!

于 2009-11-02T21:00:52.140 に答える