0

NHibernate3.3.2.4000を使用するFluentNHibernate1.3.0.733を使用しています。を使用するsession.BeginTransaction()と、トランザクションの作成に約500ミリ秒かかり、場合によっては1秒以上かかることもあります。この時間を短縮する方法はありますか?


これは、MSSQLServerを使用するASP.NETアプリケーションにあります。セッションは、アプリケーションの起動時に1回作成されるSessionFactoryを使用して作成されます。ASP.NETモジュールを使用してリクエストごとのセッションパターンを実装しました。すべて順調。セッションの作成には時間がかかりませんが、トランザクションの作成には時間がかかります。

4

1 に答える 1

2

単純なクエリと更新の場合、トランザクションの開始とコミットの時間を含めて、完全な要求が10〜20ミリ秒で実行される可能性があるため、この場合、何かが明らかに怪しいです。

デフォルトの構成では、BeginTransaction()は、NHibernateが基盤となるADO.NETから接続を取得しようとするときです。接続プールは無効になっていますか?SQLサーバーへのネットワーク遅延が高いですか?分散トランザクションコーディネーターが関与していますか?

同じ接続文字列を使用してADO.NET接続とトランザクションを直接開くとどうなりますか?

于 2013-01-24T20:12:09.537 に答える