Monday, March 19, 2012

Connections

I've got a third party download app that creates ten connections to Sql Server 2000 per user! We've got an average of 40 users/day and so we have around 400 connections floating around all day just for this one small app! We asked the vendor and all they will say is "it's working as designed".

So here are my questions:

1. Is there ANY reason on planet earth, performance or otherwise, that someone would require ten connections?!?
2. How can I get it across that this is unacceptable? How can I calculate how many connections Sql Server can handle? Are there any rules of thumb that I can use for leverage?

Thx.It is most probably not required. Typically it is efficient to make and break connections as required from the client side code. The driver/provider maintains a pool of connections anyway which will help in reuse of connections. This also means that you manage resources more efficiently on the client side. It is possible to leak connection resources if used incorrectly from client side and this may require frequent restarts of the application or bad performance over time. Some connections could also be orphaned both on client/server depending on the complexity of the application. So it is generally not a good idea to keep too many open connections from an application to SQL Server. And lastly, connections to take some resources on the server (see books online capacity specifications topic).

No comments:

Post a Comment