Connection pool Error
Is there any way to track the connections opened and relate it to a connection pool created from database side.


Set the Application Name in your config and you can monitor from the server side in sys.dm_exec_sessions.  You'll get a separate Connection Pool for each Connection String, so if you set the Application Name in the connection strings you can tell what pool each connection belongs to.


  the queries which normally runs faster ,goes slow. Is it expected?


Yes.  Before you start seeing timeouts getting connections, you will have waits of up to 30 seconds waiting for a pooled connection to become available.  So it may be a delay in opening or re-opening a connection, rather than a slow query. 

Or it could be an indirect correlation.  Often the code path that leaks connections only happens when you get some other Exception.   For instance blocking or resource exhaustion on the database is causing timeout Exceptions, which, due not using using blocks is causing the leaked connections.  But that's just speculation.

BTW 99.99% of the time the cause is: "Opened connections are not closed, called connection leaking."