Hi ,
In my project I use Nhibernate to connect to Postgres.
Currently it is very slow.
I have used Yourkit profiller to get some key informaitons.
In CPU profilling i have analyzed following things : -
Let me explain one by one : -
1- NHibernate.Impl.SessionImpl.DoLoad(Type, Object, Object, LockMode, Boolean)
Takes lots of time .
2- Internally it calls thse function i am listing the last stack
NpgsqlConnector.Open()
Npgsql.NpgsqlConnectedState.Startup(NpgsqlConnector)
Npgsql.NpgsqlState.ProcessBackendResponses(NpgsqlConnector)
[Wall Time] System.Net.Sockets.Socket.Poll(Int32, SelectMode)
Finally in last the socket.poll takes most of the time .
I want to know the probably causes of the socket.poll() consumes allot of time .
Please help me out to know the places why in DoLoad,DoLoadByClass and Socket.Poll is taking lot of time .
What are the scenario in which it might be getting slow down , Which i need to look .
--
Thanks,
Keshav Upadhyaya