私たちは、Azure データベースに対してマイクロ Orm を使用することにしました。私たちのビジネスは「挿入」と「選択」のみを必要とするため、すべてのコード管理を抑制することにしSqlTransaction
ました (データの同時実行の問題はありません)。
次に、Azure データベースのインスタンスの応答が非常に遅いことに気付きました。「rpc completed」イベントは、単純な sql ステートメントを実行するのに必要な時間の数百倍の遅延で発生しました。
次に、コードを EF6 でベンチマークしたところ、サーバーが非常に迅速に応答することがわかりました。EF6 は組み込みのトランザクションを実装しているためSqlTransaction
、マイクロオームで (ReadCommited) を復元することにしましたが、すべて問題ないことがわかりました。
Azure Database には明示的なSqlTransaction
(コードによって管理される) が必要ですか? SqlTransaction
Azure データベースのパフォーマンスにどのような影響がありますか? なぜそのように実装されたのですか?
編集: トレースを収集した方法について、より正確な情報を投稿します。Azure イベント ログは、ナノ秒単位、ミリ秒単位で表示されることがあるようです。とても奇妙に思えます。