0

Azure で実行される ASP.NET MVC4 アプリケーションを開発しています。私は認証に単純なメンバーシップを使用しており、データはほとんどテーブルストレージに保存されています。これには、テーブル ストレージの 1 つの行に格納されている Web ページのソースが含まれます。

最近、ローカル環境のページが表示されるまでに 10 ~ 60 秒かかるという大きなパフォーマンスの問題が発生しています。ローカル Web サーバーと IIS Express を使用してみましたが、大きな違いはありません。物事はまだゆっくりと実行されます。

私が覚えていることの 1 つは、最近、Simple Membership を使用するように切り替えたことです。現在、次の接続文字列があります。

    <connectionStrings>
    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-WebUx-20121229234926;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-WebUx-20121229234926.mdf" />
  </connectionStrings>

タスク マネージャーで実行中の SQL Server プロセスが表示されます。これは非常に遅くなる可能性がありますか?私のメモリ使用量は 3GB の 70% です。助言がありますか?クラウド上で実行している SQL Server を使用するように変更した方がよいと思いますか。

  <connectionStrings>
    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=xxx.database.windows.net;Initial Catalog=selftestware;Persist Security Info=True;User ID=xx;Password=yy" />
  </connectionStrings>

私は何でもしようとするオープンです。私のページを1分以内にローカルに表示したいだけです:-(

4

1 に答える 1

1

重要なことは、コードをプロファイリングすることです。これは、データベース呼び出しを への呼び出しでラップするのと同じくらい簡単Stopwatchです。

私の推測では、あなたのアプリケーションは、住宅用インターネット接続を介して、Azure Web サービスに対して多数のおしゃべりな呼び出しを行っていると思われます。モバイル ブロードバンド経由で接続している場合、これはおそらく少なくとも 100 ミリ秒、場合によっては最大 2000 ミリ秒になるでしょう。 (3G) サービス。

Azure アプリケーションは、データベース サーバーへの接続の待機時間が短いため、MS のサーバー上でより高速に実行されます。この余裕はありません。

ローカルの SQL Server のみを使用するようにアプリケーションを構成することをお勧めします。

最初のページ リクエストについて心配する必要はありません。ASP.NET では *.aspx/Razor ファイルを再コンパイルするため、これらは常に遅くなります。重要なのは後続のすべてのリクエストです。

于 2013-02-10T07:44:05.293 に答える