NHibernate事务创建很慢

时间:2013-01-24 18:25:30

标签: nhibernate transactions fluent-nhibernate

我使用Fluent NHibernate 1.3.0.733,它使用NHibernate 3.3.2.4000。 当我使用session.BeginTransaction()时,创建事务大约需要500毫秒 有时它也会超过一秒钟。有没有办法减少这个时间?


这是在带有MS SQL Server的ASP.NET应用程序中。 使用在Application Start Up创建一次的SessionFactory创建会话。 我使用ASP.NET模块实现了每个请求的会话模式。 一切都好。会话创建不需要时间,但事务创建很慢。

1 个答案:

答案 0 :(得分:2)

对于简单的查询和更新,可以在10-20毫秒内执行完整的请求,包括开始和提交事务的时间,因此在这种情况下,某些事情显然是可疑的。

使用默认配置,BeginTransaction()是NHibernate尝试从底层ADO.NET获取连接的时候。连接池是否已禁用?你对sql server有很高的网络延迟吗?是否涉及分布式事务协调员?

如果使用相同的连接字符串直接打开ADO.NET连接和事务会发生什么?