4

Azure で MVC 4 を使用していますが、読み込みに時間がかかります (1 分以上)。いくつかのページの読み込み時間は次のとおりです: http://i.imgur.com/V4brS.png (6.9 分は、異なるページで 7 つのタブを読み込もうとしたときのものです)

Azure エミュレーターをローカルで使用している場合、この問題は発生しません。

特大のインスタンスを使用し、リモート デスクトップを使用してサイトをローカルで実行しようとしましたが、速度は同じでした。また、IIS Express と通常の IIS を使用してみましたが、何もありませんでした。

セキュリティを含む「インターネットアプリケーション」テンプレートを使用して完全に新しいMVCプロジェクトを作成しましたが、これも非常に遅いため、プロジェクトで使用している他のものが問題を引き起こしていないと確信しています. デフォルトの MVC プロジェクトのみの読み込み時間は次のとおりです。 ここに画像の説明を入力

もともと、メンバーシップ DB と Web サイトに別々のアフィニティ リージョンを使用していましたが、フォーム認証を使用した空の MVC テンプレートとプロジェクトの両方で、一致するアフィニティ グループを使用してみました。

ページに再度アクセスしても、速度が大幅に向上するわけではありません。

また、生成された 10x5000 テーブルを使用して、認証なしで MVC サイトのみを作成しようとしました。

<html>
<body>
    <table>
        <thead>
            <tr>
                @for (int i = 0; i < 10; i++)
                {
                    <th>@i
                    </th>
                }
            </tr>
        </thead>
        <tbody>
            @for(int i = 0; i < 5000; i++)
            {
                <tr>
                    @for(int j = 0; j < 10; j++)
                    {
                        <td>Row @i , column @j</td>    
                    }
                </tr>
            }
        </tbody>
    </table>
</body>
</html>

これは、ローカルでもクラウドでも問題なくロードされます。コールド スタートからでも、わずか 10 ~ 15 秒です。

したがって、問題がASP.NETのプロファイル/メンバーシップ/認証にあることはかなり確信していますが、それはAzureにデプロイされている間だけです(ローカルで実行しているときにユニバーサルプロバイダーで同じSQL Azureデータベースを使用しているためです。これらの減速ではありません)。

この問題はもっと一般的だと思っていましたが、実際に関連していると思われるのは、 social.msdn.microsoft.com/Forums/en-US/windowsazuremanagement/thread/ 7d3323d8-571b-4b8f-9fdb-bd5ccc6c39b7 (おそらくこれ: stackoverflow.com/questions/10791433/saving-changes-very-slow-via-datacontext )

windowsazure.com/en-us/manage/windows/best-practices/のスレッドで提案されているように、試してみることに取り組んでいます。

4

1 に答える 1

0

データベース サーバーのファイアウォール規則で、[他の Windows Azure サービスにこのサーバーへのアクセスを許可する] がオンになっていることを確認しましたか?

プロバイダーがデータベースに到達できず、最終的にタイムアウトする前に再試行しているのではないかと思います (ただし、正直なところ、例外がスローされることを期待しています)。

ネットワークのファイアウォール規則を追加したが、Azure 自体のファイアウォール規則を追加していない場合、このような問題が発生する可能性があります。

于 2012-10-30T20:02:01.193 に答える