Thanks Jason.

I don't think it is the N+1 problem. Two reasons:
1) The data that I am reading at start up time on the whole are simple
lists i.e. I am not reading a list of objects and then subsequently
reading each objects children.
2) If it was the N+1 problem I don't see why upgrading to NH 2.1.0
would have an adverse affect.

On Nov 23, 10:04 am, Jason Dentler <[email protected]> wrote:
> Simmo,
>
> You haven't given much concrete information to examine, but I suspect you
> have a select N+1 problem. As a test, turn off lazy loading. NH Profiler can
> probably tell you the exact source of this problem and many others.
>
> Thanks,
> Jason
>
> On Fri, Nov 20, 2009 at 12:13 PM, simmo <[email protected]>wrote:
>
> > Hi,
>
> > I have just upgraded from NHibernate 1.2.0.GA to NHIbernate 2.1.0.GA.
> > The startup time of my application has gone from ~35 seconds (I know
> > it's not great :o)) to ~75 seconds - even worse!!! Other than changes
> > to the way nhibernate is configured (i.e. using properties rather than
> > key / values) and updating one or two namespaces that have changed
> > between versions, I haven't changed anything. The code has remained
> > the same.
>
> > When the application starts the server side code reads lists of
> > entities from numerous tables which are then converted into data
> > transfer objects to be passed to the front-end via WCF. My initial
> > hunch was that this was to do with the changes to the way proxies and
> > lazy loading were handled (between the two versions) meaning that when
> > I looped through the entities to convert them to data transfer
> > objects, an additional read was being performed for each entity. I
> > thought this because when debugging I can see that the
> > ICriteria.List<T>() method is returning a list of proxy classes. When
> > I debug the code running with NHibernate 1.2.0 the same method returns
> > a list of my entities instead.
>
> > I still think I am on thinking along the right lines however, I have
> > ruled out the exact scenario that I outline above. I have recreated
> > the call to the List method in a simple console app, seen a list of
> > proxies returned and a select statement output. If I was right above I
> > would then expect to see further select statements output as I loop
> > through the returned proxies - this doesn't happen however.
>
> > To rule out a problem with a specific proxy implementation I have
> > tried LinFu and Castle. Neither seems to improve startup time
> > significantly.
>
> > FYI I am using .Net Framework 3.5 and connecting to a SQLServer 2000
> > database. The application (or the part that is causing me the
> > headache) is deployed to IIS 6 and exposes the server side
> > functionality via WCF. The NHibernate upgrade is part of an ongoing
> > Infrastructure upgrade.
>
> > Thanks in advance.
>
> > --
>
> > You received this message because you are subscribed to the Google Groups
> > "nhusers" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<nhusers%[email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/nhusers?hl=.

--

You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=.


Reply via email to