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