これはおそらくかなり広範な投稿になるでしょう。しかし、私は調査を行ったが、今は立ち往生しており、本当にこれの底に行きたくない.
私が抱えている問題は、共有環境 (Web ホスト) での ASP.NET MVC 3 サイトのパフォーマンスです。次のグラフを見れば、私の言いたいことがわかるでしょう: KeepAliveForever からの読み込み時間グラフ
ご覧のとおり、サイトには 20 ~ 30 分ごとに約 10 秒の読み込み時間のピークがあり、その間は通常どおり読み込みが行われています。これは共有ホストであるため、アプリケーション プールは 20 分ごとにリサイクルされます。アクティビティのないサイトだけがキャッシュから「追い出される」という印象を受けましたが。サービス KeepAliveForever は 10 分ごとにサイトを要求することになっているため、これは私には当てはまらないようです。何が起こっても、サイトはキャッシュから削除されているようです。
これは、サイトをプリコンパイルするために使用するコマンドです。
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
aspnet_compiler -p "c:\dev\AlltForMusik\AlltForMusik" -v / -f "c:\dev\Deploy"
また、デバッグを無効にし、Global.asax の RegisterAllAreas() をコメントアウトしました。これは、領域を使用しておらず、非常に遅くなる可能性があることを読んだためです。
protected void Application_Start()
{
//Database.SetInitializer(new DontDropDbJustCreateTablesIfModelChanged<AlltForMusikContext>());
//AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
Global.asax の RegisterRoutes() に 15 個のルートを追加しました。しかし、これはかなり正常な量であり、大幅な遅延を引き起こすべきではありませんか?
このサイトは非常に軽量で、DB から読み込まれるものだけがここで確認できます: DB からのコンポーネント
これは他の多くの人にとっての問題であると読んだことがありますが、これが期待される結果であるとは思えません。つまり、ほとんどの小規模なサイトは、負荷分散を備えた共有ホスティング環境を使用しています。サイトの速度がこれほど遅い場合、どうすれば MVC を使用して顧客向けのサイトを開発できるのでしょうか?! これは、有料のクライアントには決して許されません。
それとも、MVC は、独自のサーバーで実行されている大規模なアプリを構築する場合にのみ使用することになっています (設定などを変更する機能を備えています)。
この問題の解決にご協力いただき、誠にありがとうございます。ウェブホストと話しましたが、彼らは本当に助けてくれません. Web ホストは全体的に遅いわけではありません。これは MVC サイトのみの問題のようです。
宜しくお願いします ミカエル・エデブロ