Thanks Alex I will look into this. Some good news. Overall performance of my application does seem to have improved by upgrading. It justs seems to be the reading of large lists of data that it doesn't seem to like....
On Nov 23, 10:19 am, "Alex Reitbort" <[email protected]> wrote: > May be it is because of schema validation done by NH 2.1.0? I do not > remember if 1.2.0 did it. But if it is the case, you should cache your > Configuration object. > > From: Jason Dentler [mailto:[email protected]] > Sent: Monday, November 23, 2009 12:04 PM > To: [email protected] > Subject: Re: [nhusers] Abismal NHibernate 2.1.0 performance > > 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] > <mailto:nhusers%[email protected]> . > For more options, visit this group > athttp://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 > athttp://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=.
