> Craig, I agree with everything you stated.
>
> What if I change one of your assumptions - and it only took
> .006 seconds to open (and close) a database connection.
> Would that change your architecture?

Interesting. First of all, 0.006 seconds is still pretty damn slow.
Think of it in terms of instructions: a 1GHz processor can do like SIX
MILLION instructions in that time. I realize that this is a pretty
appallingly worthless figure, but you get the idea - that the human
scale of "fast" is pretty meaningless when applied to computers.

Now, that said, I would still argue that connection pooling is *super*
valuable. Even without a performance advantage to pooled connections,
consider that having the mid-tier means that the number of connections
to the database is equal to the number of clients that are doing
something *at the moment*, not *the total number of clients*, as would
be the case in a non-pooled scenario.

Consider that database connections represent both time and resources,
and optimizing them downward makes sesnse.

Also consider roundtrips: make a connection, send a command, break a
connection is three network roundtrips. Suckola! In the face of (even
inefficient) pooling, this goes down to an average of slightly higher
than one.

You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced 
DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to