probably you are facing unclosed connections and active transactions? Check 
this in both, your code and on SQL Server. You can get a list of active 
transactions in sql server by executing "SELECT * FROM 
sys.dm_tran_session_transactions" (on SQL2k8). Also check for locks and root 
processes causing those locks, there are plenty of scripts out there, just 
google.

-Erich

From: [email protected] [mailto:[email protected]] On Behalf Of 
Jamie Fraser
Sent: Wednesday, May 06, 2009 12:12 PM
To: [email protected]
Subject: [nhusers] Re: ado timeouts

 

Hey Jan!

It sounds like it could be a locking issue then - have you ran SQL Profiler on 
your production DB? If it isn't locking, I have no idea!

-Jamie

On Tue, May 5, 2009 at 10:59 AM, Jan Limpens <[email protected]> wrote:

hey, jamie, long time no see!

does not seem that way, i checked with a dba who confirmed that indexes were 
fine.




2009/4/28 Jamie Fraser <[email protected]>

 


I guess you've already checked - but could this be an Indexing issue?


On Thu, Apr 23, 2009 at 7:25 AM, Jan Limpens <[email protected]> wrote:
> Now, I am uncertain if this is a nhibernate problem I am facing here, I
> actually doubt so. Still I suppose this list is as good as it gets when it
> comes to sql knowledge and I cannot absolutely rule ou nh as well, so...
>
> I can now reproduce the problem, at least.
> I looked at the queries that produce timeouts in the logs and could reduce
> such a query to this:
>
> SELECT     Orders.OrderID
> FROM         Orders INNER JOIN
>                       [User] ON Orders.UserID = [User].UserID
> WHERE     ([User].UserID = '1000000002')
>
> this query timeouts. if I change the userid to '1000000003' (does not
> exist), the query returns immediately, for ''1000000001', i get valid
> results back, the user exists and has orders. when i restart sql server
> (2005), in the management console all queries return result sets.
>
> now after a small and vain rejoice, i try to open the page that gave me the
> timeouts - and they (the timeouts) are back :( same behavior as before, the
> above query returns for one id, timeouts for another.
> this is where nh could somehow be to blame (again, I doubt it, but it is
> only after I access the db via nh that this awkward behavior starts). and of
> course, only @ the production server.
>
> anyone could give me an idea where to look?
>
> thanks a lot, guys,
>
> jan
>
>
>
> 2009/4/22 Jan Limpens <[email protected]>
>>
>> Yeah. it seems to connect just fine, though my sensation is, that it is
>> not as fast as it could be. What really breaks it is this stupid little
>> query above.
>>
>> 2009/4/21 Keith Bloom <[email protected]>
>>>
>>> Hello,
>>>
>>> Does your application get a connection to the database at all?
>>>
>>> You can use NHProf http://nhprof.com/ to examine what is happening
>>> when the timeout occurs.
>>>
>>> Keith.
>>>
>>> 2009/4/21 Jan Limpens <[email protected]>:
>>> > hello,
>>> >
>>> > on the production server (where else), my otherwise snappy web app
>>> > suddenly
>>> > has timeouts and crawls like a snail.
>>> >
>>> > my config is:
>>> >                 <settings>
>>> >                     <item key="show_sql">true</item>
>>> >                     <item key="max_fetch_depth">1</item>
>>> >                     <item
>>> > key="dialect">NHibernate.Dialect.MsSql2005Dialect</item>
>>> >                     <item
>>> >
>>> > key="connection.provider">NHibernate.Connection.DriverConnectionProvider</item>
>>> >                     <item
>>> > key="connection.driver_class">NHibernate.Driver.SqlClientDriver</item>
>>> >                     <item key="connection.connection_string">Data
>>> > Source=.\SQLEXPRESS;Initial Catalog=dbname;Integrated
>>> > Security=True</item>
>>> >                     <item
>>> > key="connection.isolation">ReadCommitted</item>
>>> >                     <item key="default_schema">dbname.dbo</item>
>>> >                     <item key="query.substitutions">true 1, false 0,
>>> > yes
>>> > 'Y', no 'N'</item>
>>> >                     <item key="adonet.batch_size">10</item>
>>> >                     <item
>>> >
>>> > key="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory,
>>> > NHibernate.ByteCode.Castle</item>
>>> >                 </settings>
>>> >
>>> > on the same server, different database, with the almost identical
>>> > connectionstring, I get good results, too. but here...
>>> >
>>> > System.Data.SqlClient.SqlException: Timeout expired.  The timeout
>>> > period
>>> > elapsed prior to completion of the operation or the server is not
>>> > responding.
>>> >    at System.Data.SqlClient.SqlConnection.OnError(SqlException
>>> > exception,
>>> > Boolean breakConnection)
>>> >    at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException
>>> > exception, Boolean breakConnection)
>>> >    at
>>> >
>>> > System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject
>>> > stateObj)
>>> >    at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,
>>> > SqlCommand cmdHandler, SqlDataReader dataStream,
>>> > BulkCopySimpleResultSet
>>> > bulkCopyHandler, TdsParserStateObject stateObj)
>>> >    at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
>>> >    at System.Data.SqlClient.SqlDataReader.get_MetaData()
>>> >    at
>>> > System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,
>>> > RunBehavior runBehavior, String resetOptionsString)
>>> >    at
>>> > System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior
>>> > cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean
>>> > async)
>>> >    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
>>> > cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String
>>> > method,
>>> > DbAsyncResult result)
>>> >    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
>>> > cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String
>>> > method)
>>> >    at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior
>>> > behavior, String method)
>>> >    at
>>> > System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior
>>> > behavior)
>>> >    at
>>> > System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
>>> >    at NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd)
>>> >    at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, Boolean
>>> > autoDiscoverTypes, Boolean callable, RowSelection selection,
>>> > ISessionImplementor session)
>>> >    at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session,
>>> > QueryParameters queryParameters, Boolean returnProxies)
>>> >    at
>>> >
>>> > NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor
>>> > session, QueryParameters queryParameters, Boolean returnProxies)
>>> >    at NHibernate.Loader.Loader.DoList(ISessionImplementor session,
>>> > QueryParameters queryParameters)
>>> >
>>> > anyone could give me hints where to look?
>>> > you know, it works on my machine ;) (duck).
>>> >
>>> > thanks!
>>> >
>>> > --
>>> > Jan
>>> >
>>> > >
>>> >
>>>
>>>
>>
>>
>>
>> --

>> Jan

>
>
>
> --
> Jan
>
> >
>






-- 
Jan







--~--~---------~--~----~------------~-------~--~----~
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=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to