Tar*_*haf -1 nhibernate performance castle-activerecord
我目前正在调查ASP.NET MVC Web应用程序,据报道该应用程序在负载下性能较差.(但是加载只是每秒几个请求).
我们使用MySQL + NHibernate + Castle ActiveRecord进行映射.NHibernate会话在每个会话开始时打开,并在视图中保持打开状态.
我已经优化了数据访问模式,以避免在可能的情况下选择N + 1问题.
现在我正在考虑的是..在每个请求上打开一个数据库事务并在最后提交.在99%的请求(MVC操作)中,不必将数据写入数据库.
您应该验证您的应用程序没有从DB加载大量数据.即使所有选择n + 1已解决,您也可以加载数百万条记录,而且速度非常慢.
使用NHibernate Profiler验证您的页面.它会提出优化建议.如果没有,可能NH不是你的瓶颈.