[解決済み] IISの初期ロードの遅さを修正する
質問
IIS には、低トラフィックの Web サイトで使用されていないワーカー プロセスを再利用する迷惑な機能があり、しばらくしてからサイトに最初にアクセスしたユーザーが非常に長い遅延 (30 秒以上) を受ける原因となっています。
この問題の解決策を探したところ、これらの潜在的な解決策が見つかりました。
A. Application Initializationプラグインを使用する
C. アイドルタイムアウトを無効にする (IIS Resetの下)
これらのうちどれが好ましいのか、さらに重要なことは、同じ問題に対してなぜこれほど多くの解決策があるのか、ということです。(私の推測では、それらはなく、私が何かを正しく理解していないだけだと思います)。
編集
実行中 C を実行することは、私のサイトを暖かく保つのに十分であるように見えますが、私のサイトの遅さの本当のルーツは、Entity Frameworkに関係していることを発見しました。参照 この の質問、どの 残念ながらまだ回答がありません が回答されました!
結局、私はただ ウォームアップスクリプト を作って、時折私のサイトを叩いて、スピードが保たれるようにしなければなりませんでした。
どのように解決するのですか?
オプション A、B、および D は、最初の起動時間にのみ影響し、コンパイルやメモリへのライブラリのロードなど、Web サイトのウォームアップを行うため、同じカテゴリに属するように見えます。
C を使用して、アイドル タイムアウトを設定すると、サーバーへの後続の要求が高速で処理されるようになります (アプリ プールを再起動すると、かなりの時間 (数秒単位) がかかります)。
私の知る限り、タイムアウトは、そのマシン上で並行して実行されている他の Web サイトが必要とする可能性のあるメモリを節約するために存在します。その代償として、ロード時間が 1 回だけ遅くなります。
ユーザーが活動していない場合にアプリ プールがシャットダウンされるという事実の他に、アプリ プールはデフォルトで 1740 分 (29 時間) ごとにリサイクルされます。
technet より。
インターネット インフォメーション サービス (IIS) のアプリケーション プールは、定期的にリサイクルすることができます。 定期的にリサイクルして、アプリケーションのクラッシュやハングアップ、メモリリークにつながる不安定な状態を回避することができます。 アプリケーションのクラッシュ、ハングアップ、またはメモリリークにつながる不安定な状態を回避することができます。
アプリ プールのリサイクルがオンのままである限り、それで十分です。 しかし、本当にほとんどのコンポーネントで最高のパフォーマンスを得たいのであれば、言及したアプリケーション初期化モジュールのようなものを使用する必要があります。
関連
-
.NET Coreでオブジェクトプールを使用する
-
net core downlink tracking skywalking インストールと使いやすいチュートリアル
-
ASP.NET Core MVC フィルタ
-
[解決済み] URLのPath.Combineは?
-
[解決済み] IISのAppPoolIdentityとファイルシステムの書き込みアクセス権
-
[解決済み] ASP.NETでConsole.WriteLineはどこに行くのですか?
-
[解決済み] カタナ」と「オウイン」をわかりやすく説明すると?
-
[解決済み] [Solved] User 'IIS APPPOOLASP.NET v4.0'のログインに失敗しました。
-
[解決済み】IIS 7.5でASP.NET MVCを動作させる。
-
[解決済み] フォーム認証のタイムアウトとsessionStateのタイムアウトの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
.NET Coreでオブジェクトプールを使用する
-
ASP.NET学習でよくあるエラーのまとめ
-
NET 6 の今後の新機能 暗黙の名前空間参照
-
名前 'xxx' が現在のコンテキストに存在しない エラー解決方法の1つ
-
ConfigurationManagerのGetSection()メソッドです。
-
[解決済み] [Solved] ASP.NET MS11-100: 投稿されたフォームの値の最大数の制限を変更するにはどうしたらいいですか?
-
[解決済み] イベントログへの書き込み時にSystem.Security.SecurityExceptionが発生する。
-
[解決済み] コンテンツ」項目が重複して含まれていました。.NET SDKは、デフォルトでプロジェクトディレクトリの'Content'アイテムを含めます。
-
[解決済み] ASP.NET MVCのHtml.ActionLinkに "active "クラスを追加する方法
-
[解決済み] ASP.NET_SessionId + OWIN Cookieがブラウザに送信されない。