优化ActiveRecord初始化时间(在应用程序启动时)

时间:2010-10-17 10:25:12

标签: performance nhibernate activerecord

对于每个application_start,我调用ActiveRecordStarter.Initialize(实际上它是ActiveRecordIntegration facitliy的一部分)。这似乎非常沉重,需要大约3.5秒才能初始化我的16个物体。

一些背景: 1.现在有16个AR对象,几乎从未改变过(可能每周一次)。 2.大多数变化都不是AR相关的,但是当我在本地开发时,我仍然“受到”巨大的应用程序启动时间(需要等待3.4秒才能加载AR,尽管没有真正改变)。

我的想法:似乎如果我将AR配置保存到二进制文件并加载它,如果注意到更改(例如,通过查看AR对象并在其源文件上执行一些MD5来查看更改) 。如果更改了某些内容,我需要重新创建二进制文件。从我做过的测试来看,大部分时间都是从那里开始的。

所以: 一个。我在那里朝着正确的方向前进吗?也许我做错了什么? 湾你已经解决了这个问题并且愿意与我分享吗? :)

1 个答案:

答案 0 :(得分:0)

你是对的,NHibernate会话工厂可能需要一些时间来构建,并将其序列化为文件是改善它的好方法。

要实现此功能,请查看this articlecorresponding code in the Castle NHibernate facility