残念ながら、AzureでホストされているMVC 3、SQLAzureがサポートする開発のメンバーシップ管理に最新のユニバーサルプロバイダーを使用しています。CSVファイルからユーザーをまとめて作成するルーチンをコーディングしました。ファイルが解析され、モデルが入力されます。次に、コレクション作成ユーザーを繰り返し処理します。
信じられないほどの時間がかかるキーラインは標準です
Membership.CreateUser(
model.UserName,
model.Password,
model.Email,
null,
null,
model.IsApproved,
out createStatus);
「大規模な」4コアサーバーでも、この1行が完了するまでに約1秒かかる場合があります。つまり、10,000人のユーザーは3時間近くかかることになります。データベースに直接それを行うには、可能であれば、おそらく数分かかるでしょう。
さらに悪いことに、既存のユーザーをチェックし、更新する必要がある場合も更新する必要があります。必要なインデックスを入れましたが、データベースは非常に高速です。率直に言って、このプロバイダーは何ができるでしょうか?
私は何か間違ったことをしているのですか、それともこのプロバイダーは大規模システムにはまったく役に立たないのですか?他の誰かがこれらの問題を抱えていましたか?
プロファイルプロバイダーには入りません。自分で書いたと言えば十分です。