19

iis 7.5を搭載した2台のマシンでWebサイトを実行していますが、1台は正常に動作します。

もう 1 つは、アプリケーション プールのリサイクル後に最初の要求を処理するのに非常に長い時間がかかります。本番サーバーとして使用されるため、60 秒以上かかる場合があります。

両方のサーバーで app-pool 設定を確認しましたが、それらは同じであり、両方のサーバーの webapp バージョンも同じです。タスクマネージャーとリソースモニターを実行し、リクエストを行ったときにマシンへの接続を追加しましたが、他に何も起こりません.iisは完了するまでログにリクエストを表示しません. その間、何をしているのかよくわかりません。

これを修正したり問題を見つけたりするために試すことができる設定の痕跡はありますか. とても不可解です。

編集:だから私は今、いくつかのより多くの情報を持っています.finallは失敗したリクエストログを機能させました(ユーザーにIIS_IUSRS権限を与える必要がありました)が、何が起こっているのかを確認するためのログをいくつか持っています

失われた時間は、ログ ファイルで 2 秒の間にあります。

1. MODULE_PRECONDITION_NOT_MATCH    Name="ScriptModule-4.0", Precondition="managedHandler,runtimeVersionv4.0"            12:09:46.422 
2. VIRTUAL_MODULE_UNRESOLVED        Name="FormsAuthentication", Type="System.Web.Security.FormsAuthenticationModule"     12:12:04.390 

ご覧のとおり、これら 2 つのイベントの間に 2 分以上かかりますが、以前にこれに遭遇した人はいますか?

4

1 に答える 1

22

これは、他のサーバーで何が起こっているかを伝えるのが少し難しいですが、再検討する必要があるかもしれない簡単なチェックリストです:

  • サイトをコピーするのではなく、常に事前にコンパイルしてください。展開前に Web サイトをコンパイルすると、パフォーマンスが大幅に向上する可能性があります: ASP.NET プリコンパイルの概要

  • web.config でデバッグ フラグが true の場合は、本番アプリケーションをdebug="true"有効にして実行しないでください。実行時にアプリケーション内でより多くのメモリが使用されます。追加のデバッグ パスが有効になっているため、コードの実行が大幅に遅くなる可能性があります。

  • Web.config ファイルをチェックして、<trace>セクションでトレースが無効になっていることを確認します。

  • IIS 7.5 には、自動開始機能が付属しています。WAS (Windows プロセス アクティベーション サービス) は、自動的に開始するように構成されているすべてのアプリケーション プールを開始します。アプリケーション プールがAlwaysRunningIIS 7.5applicationHost.configで構成されていることを確認してください。詳細については、こちらをご覧ください。

  • ファイルを調べて、ASPNET.CONFIG両方のサーバーの構成が同じであるかどうかを確認してください。すべての asp.net サーバーaspnet.configは、フレームワーク フォルダーのルートにあるファイルによって適切に構成できます。

  • aspnet.config ファイルで、Code Access Security (CAS) の Publisher Evidence が false に設定されていることを確認します。これにより、ASP.NET アプリ プールを再起動したときに、最初のページの読み込みが増加する可能性があります。詳細については、こちらをご覧ください。

アプリケーションの CAS 発行元ポリシーのチェックを無効にする方法は次のとおりです。

<configuration>
    <runtime>
        <generatePublisherEvidence enabled="false"/>
    </runtime>
</configuration>
于 2012-12-17T17:46:18.650 に答える