确定NHibernate瓶颈的最佳方法是什么?

时间:2008-12-01 21:42:30

标签: nhibernate

这是参考我前面提到的question。除了查看NHibernate生成的SQL对数据库的调用之外,找到NHibernate和DB之间瓶颈的最佳方法是什么?特别是,我有直接针对数据库运行时返回非常快的查询,但是在单元测试和网页上运行代码时返回时间非常慢(超过3-4倍)。我相对肯定这与我映射表和主键的方式有关。我怎样才能进一步深入了解我的慢速区域在哪里?还有其他工具吗?我知道这是一个非常广泛的问题,但我还没有必要探讨这些问题。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

AFAIK还没有一个工具可以分析NHibernate。这将随着Ayende's NHIbernate Profiler而改变。在此期间,您可以使用代码分析器(例如dotTrace),SQL Server Profiler,NHibernate记录器和静态分析的组合,即如果您了解SELECT N + 1问题,大多数时候您可以通过查看代码来发现它。

编辑NHProf现已推出!

答案 1 :(得分:0)

我使用JProbe来分析我的代码。它可以显示我的代码中任何特定位置花费的时间,以及瓶颈所在的位置。我确信还有其他可用的工具,其中一些可能更便宜。

答案 2 :(得分:0)

现在使用Sql profiler。稍后您可以购买Ayende的Nhibernate Profiler。您也可以登录sql并检查。