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

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