何か間違ったことをしている可能性があるのか、それともASP.NET SQLメンバーシッププロバイダーを捨てて、自分でロールする必要があるのかわからない。データベース呼び出しの数を減らすことで、Webアプリ/サービスのパフォーマンスを最適化するために懸命に取り組んでいます。そのために、私はEntity Framework Profiler(EFProf)を接続しました。これは素晴らしいことです。
Membership.ValidateUser(username、password)への1回の呼び出しから、データベースへの8回の呼び出しを取得したようです。4つの選択、および4つの更新。まったく同じシーケンスの選択と更新が2回続けて繰り返されているようです。ユーザー名に基づいてユーザーデータを選択し、userIdに基づいて再度選択し、最後のログイン日と最後のアクティビティの日付を更新します(最後の2つは2つの別々の更新ステートメントとして送信されます)。
Azureで実行しているという事実を追加すると、これはやや大きな問題になります。したがって、データベースは同じマシン上またはWebサーバーのすぐ隣に格納されていないため、各db呼び出しには平均で3〜10ミリ秒かかります。 。
これについて何か考えはありますか?誰かが以前にこの振る舞いに気づきましたか?これはMSFTが最適化する必要があるもののようですが、とにかく質問したいと思いました。
ありがとう。